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')

この関数は、pipconda などのパッケージマネージャーを使用して 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() 関数は、pipconda などのパッケージマネージャーを使用して 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.metadataPython 3.8 以降でのみ使用可能
pkg_resourcesPython 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 のバージョン情報や配布情報を確認する方法はいくつかあります。