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

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

スクリプトで確認、表示: __version__属性 pipコマンドで確認 インストール済パッケージの一覧表示: pip list インストール済パッケージの一覧表示: pip freeze インストール済パッケージの個別詳細表示: pip show condaコマンドで確認: conda list

Python本体のバージョンを確認したい場合は

スクリプトで確認、表示: version属性

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

import pandas as pd

print(pd.__version__)
# 0.22.0

__version__属性はPythonのコーディング規約であるPEP8で推奨されており、多くのパッケージおよびモジュールで設定されています。

PEP 8 -- Style Guide for Python Code | Python.org

有名どころのパッケージではほぼ設定されているが、あくまでも推奨なので設定されていない場合もあります。 また、__version__属性のほかに、より詳細な情報を表示する関数などを用意しているパッケージも多い。

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

表示フォーマットはlegacy, columns, freeze, jsonの4種類があります。pipの設定ファイルpip.confか--format オプションで指定します。それぞれのフォーマットでの出力例は

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

-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 freezeとpip list --format freeze の違いは、pip freezeでは、

pip setuptools distribute wheel

といったパッケージ管理ツールがデフォルトで表示されないこと。(--allオプションをつければすべて表示される) freeze形式の出力をテキストファイルとして保存しておくと、パッケージを指定のバージョンで一括インストールできます。

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

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

一覧ではなく特定のパッケージの詳細情報を表示したい場合はpip show コマンドを使います。 バージョン情報のほか、依存パッケージやホームページなどの詳細情報が表示されます。

$ pip show pandas
Name: pandas
Version: 0.22.0
Summary: Powerful data structures for data analysis, time series,and statistics
Home-page: http://pandas.pydata.org
Author: The PyData Development Team
Author-email: pydata@googlegroups.com
License: BSD
Location: /usr/local/lib/python3.6/site-packages
Requires: pytz, numpy, python-dateutil

##condaコマンドで確認 AnacondaでPython環境を構築した場合は、conda listで現在の仮想環境にインストールされているパッケージが一覧表示されます。 環境がactivateされていない場合は、conda list -n <環境名>。

Last Updated: 6/26/2019, 10:34:03 PM