Python で NumPy のバージョンを確認する方法:get_distribution() 関数 vs その他の方法
NumPy のバージョン情報を確認する
import numpy as np
dist = np.get_distribution('numpy')
print(dist.version) # NumPy のバージョンを出力
NumPy がインストールされているかどうかを確認する
try:
import numpy as np
dist = np.get_distribution('numpy')
except ImportError:
print('NumPy is not installed')
else:
print(f'NumPy {dist.version} is installed')
この関数は、pip
や conda
などのパッケージマネージャーを使用して NumPy がインストールされている場合にのみ有効です。つまり、ソースコードから NumPy をインストールした場合には、この関数は機能しません。
- この関数は、Python 3.5 以降でのみ使用可能です。
get_distribution()
関数は、NumPy パッケージ以外にも、他の Python パッケージのバージョン情報や配布情報取得にも使用できます。
NumPy のバージョン情報を確認する
import numpy as np
dist = np.get_distribution('numpy')
print(f'NumPy version: {dist.version}')
このコードを実行すると、以下の出力が得られます。
NumPy version: 1.23.4
NumPy がインストールされているかどうかを確認する
try:
import numpy as np
dist = np.get_distribution('numpy')
except ImportError:
print('NumPy is not installed')
else:
print(f'NumPy {dist.version} is installed')
このコードを実行すると、以下のいずれかの出力が得られます。
- NumPy がインストールされていない場合:
NumPy is not installed
- NumPy がインストールされている場合:
NumPy 1.23.4 is installed
import numpy as np
required_version = '1.22.0'
try:
dist = np.get_distribution('numpy')
if dist.version == required_version:
print(f'NumPy {required_version} is installed')
else:
print(f'NumPy version {required_version} is not installed. Installed version: {dist.version}')
except ImportError:
print('NumPy is not installed')
- 指定のバージョンの NumPy がインストールされていない場合:
- 指定のバージョンの NumPy がインストールされている場合:
NumPy 1.22.0 is installed
NumPy 1.23.4 is not installed. Installed version: 1.23.4
get_distribution()
関数は、pip
やconda
などのパッケージマネージャーを使用して NumPy がインストールされている場合にのみ有効です。- 上記のコード例は、Python 3.5 以降でのみ使用可能です。
上記以外にも、get_distribution()
関数は以下の情報にアクセスするために使用できます。
- パッケージのインストール場所
- パッケージのライセンス
- パッケージの作者
- パッケージの名前
importlib.metadata モジュールを使用する
Python 3.8 以降では、importlib.metadata
モジュールを使用してパッケージ情報にアクセスできます。
import importlib.metadata
dist = importlib.metadata.distribution('numpy')
print(dist.version) # NumPy のバージョンを出力
pkg_resources モジュールを使用する
pkg_resources
モジュールは、Python 3.4 以降で使用できます。
import pkg_resources
dist = pkg_resources.get_distribution('numpy')
print(dist.version) # NumPy のバージョンを出力
numpy.__version__ 属性を使用する
NumPy パッケージ自体に __version__
属性があり、その値は NumPy のバージョンを表します。
import numpy as np
print(np.__version__) # NumPy のバージョンを出力
pip コマンドを使用する
pip
コマンドを使用して、インストールされているパッケージの情報を確認できます。
pip show numpy
conda コマンドを使用する
conda
コマンドを使用して、インストールされているパッケージの情報を確認できます。
conda info numpy
方法 | 備考 |
---|---|
get_distribution() | Python 3.5 以降でのみ使用可能 |
importlib.metadata | Python 3.8 以降でのみ使用可能 |
pkg_resources | Python 3.4 以降で使用可能 |
numpy.__version__ | NumPy パッケージ自体に存在する属性 |
pip コマンド | pip がインストールされている必要がある |
conda コマンド | conda がインストールされている必要がある |
どの方法を使用するかは、状況によって異なります。
- コマンドラインインターフェースを使用したい場合は、
pip
コマンドまたはconda
コマンドを使用できます。 - NumPy パッケージのバージョン情報のみが必要な場合は、
numpy.__version__
属性を使用できます。 - Python 3.5 以降を使用している場合は、
get_distribution()
関数またはpkg_resources
モジュールを使用できます。 - Python 3.8 以降を使用している場合は、
importlib.metadata
モジュールが推奨されます。
- 上記以外にも、NumPy のバージョン情報や配布情報を確認する方法はいくつかあります。