note.nkmk.me

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

Date: 2018-04-09 / tags: Python

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

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

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

スポンサーリンク

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

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

pandasの例。

import pandas as pd

print(pd.__version__)
# 0.22.0

__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

表示フォーマットはlegacy, columns, freeze, jsonの4種類がある。pipの設定ファイルpip.conf--format <format-name>オプションで指定する。それぞれのフォーマットでの出力例は以下の記事を参照。

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

  • pip
  • setuptools
  • distribute
  • wheel

といったパッケージ管理ツールがデフォルトで表示されないこと。(--allオプションをつければすべて表示される)

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

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

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

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

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

$ 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 <環境名>

スポンサーリンク
シェア
このエントリーをはてなブックマークに追加

関連カテゴリー

関連記事