Pythonのパッケージ(ライブラリ)のバージョンを確認

Modified: | Tags: Python

Pythonのスクリプトで使用されているパッケージ(ライブラリ)やモジュールのバージョン、および、環境にインストールされているパッケージのバージョンを確認する方法を説明する。

Python本体のバージョンを確認したい場合は以下の記事を参照。

スクリプトで確認・表示: __version__属性

Pythonのスクリプト内で使用されているパッケージのバージョンを確認・表示するには、__version__属性を取得する。

pandasの例。

import pandas as pd

print(pd.__version__)
# 2.0.1

__version__属性はPEPで推奨されており、多くのパッケージおよびモジュールで設定されている。

有名どころのパッケージではほぼ設定されているが、あくまでも推奨なので設定されていない場合もある。

__version__属性のほかに、より詳細な情報を表示する関数などを用意しているパッケージもある。

なお、mathosなどの標準ライブラリのモジュールには__version__は設定されていない。標準ライブラリのモジュールは個別にバージョンを持っておらず、Python本体のバージョンに準ずる。

pipコマンドで確認: pip list, pip freeze, pip show

Pythonのパッケージ管理システムpipを使用している場合は、以下のコマンドでインストール済のパッケージ情報を確認できる。コマンドプロンプトやターミナルなどでコマンドを実行する。

環境によってはpipコマンドではなくpip3コマンドを使う。Python2がpip、Python3がpip3に割り当てられている場合がある。

パッケージのインストールやアップデート、アンインストールなど、pipの基本的な使い方については以下の記事を参照。

インストール済パッケージの一覧表示: pip list

pip listでインストールされているパッケージの名称とバージョン番号が一覧で表示される。

$ pip list
Package            Version
------------------ ---------
absl-py            0.1.10
agate              1.6.0
agate-dbf          0.2.0
agate-excel        0.2.1
agate-sql          0.5.2
appnope            0.1.0
...

pip listでは以下のオプションが使える。

  • --format <format-name>オプション
    • 表示フォーマット(columns, freeze, jsonなど)を設定
  • -o, --outdatedオプション
    • 最新でないパッケージのみ一覧表示
  • -u, --uptodateオプション
    • 最新のパッケージのみ一覧表示

詳細は以下の記事を参照。

インストール済パッケージの一覧表示: pip freeze

pip freezeコマンドではインストールされているパッケージの名称とバージョン番号の一覧がfreeze形式で表示される。

$ pip freeze
absl-py==0.1.10
agate==1.6.0
agate-dbf==0.2.0
agate-excel==0.2.1
agate-sql==0.5.2
appnope==0.1.0
...

pip freezepip list --format freeze の違いは、pip freezeでは、以下に示すパッケージ管理ツールがデフォルトで表示されないこと。(--allオプションをつければすべて表示される)

  • pip
  • setuptools
  • distribute
  • wheel

freeze形式の出力をテキストファイルとして保存しておくと、パッケージを指定のバージョンで一括インストールできる。

このような用途ではpipなどのパッケージ管理ツールをリストアップする必要がないので、pip freezeではデフォルトで表示されないようになっている。

インストール済パッケージの個別詳細表示: pip show

一覧ではなく特定のパッケージの詳細情報を表示したい場合はpip show <package-name>コマンドを使う。

バージョン情報のほか、ライセンスや依存パッケージなどの詳細情報が表示される。

$ pip show pandas
Name: pandas
Version: 2.0.1
Summary: Powerful data structures for data analysis, time series, and statistics
Home-page: 
Author: 
Author-email: The Pandas Development Team <pandas-dev@python.org>
License: BSD 3-Clause License
...
Location: /opt/homebrew/lib/python3.11/site-packages
Requires: numpy, numpy, python-dateutil, pytz, tzdata
Required-by: 

condaコマンドで確認(Anacondaの場合): conda list

AnacondaでPython環境を構築した場合は、conda listで現在の仮想環境にインストールされているパッケージが一覧表示される。

環境がactivateされていない場合は、conda list -n <環境名>

関連カテゴリー

関連記事