Pythonを勉強しよう! Pythonパッケージ管理について
Python初心者の備忘録.....
今回はPythonのパッケージ管理についてです。
- pip インストール
- パッケージインストールコマンド関連
- インストールリスト表示
- 最新版がインストールされていないパッケージを表示
- 最新版がインストールされているパッケージを表示
- 依存されていないパッケージのみを表示
Pythonのパッケージ管理には「 pip 」パッケージ(ライブラリ)があり、いろいろなパッケージをインストールやアンインストール、またインストールした詳細情報など確認することに使います。
pip インストール
公式サイトにインストール手順があるので、そちらをご参照ください。 pip.pypa.io
MACでは「 ターミナル 」を起動します。
「 LaunchPad 」→「 その他 」→「ターミナル」です。
まずは「 ターミナル 」から下記コマンドでインストール用のpythonファイルをダウンロードします。
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
次にダンロードしたPythonファイルを実行しインストールをします。
$ python3 get-pip.py
パッケージインストールコマンド関連
項目 | コマンド | |
---|---|---|
1 | 単独インストール | pip install パッケージ名 |
2 | 複数インストール | pip install パッケージ名1 パッケージ名2 .... |
3 | バージョンを指定したインストール | pip install パッケージ名 == バージョン |
4 | 一括インストール | pip install -r requirements.txt |
5 | アップグレード | pip install --upgrade パッケージ名 または pip install -U パッケージ名 |
6 | 単独アンインストール | pip uninstall パッケージ名 |
7 | 複数アンインストール | pip uninstall パッケージ名1 パッケージ名2 .... |
一括インストールの「 requirements.txt 」のファイル名は、なんでもよいです。 そのファイルは、コマンドを実行するディレクトリに配置するか、パス情報もコマンド入力することもできるようです。 例:「 pip install -r ./pipinst/requirements.txt 」など。
requirements.txtの書き方例
一番良い方法は、下記「 pip freeze 」コマンドを用いてリダイレクトしてファイルに保存し、そのファイルを別の環境へインストールが良いです。
$ pip freeze > requirements.txt
下記は公式サイトです。手動で記述するときは下記例をご参考に。
自分自身はトライしたことはありません。
####### example-requirements.txt ####### # ###### Requirements without Version Specifiers ###### nose nose-cov beautifulsoup4 # ###### Requirements with Version Specifiers ###### # See https://www.python.org/dev/peps/pep-0440/#version-specifiers docopt == 0.6.1 # Version Matching. Must be version 0.6.1 keyring >= 4.1.1 # Minimum version 4.1.1 coverage != 3.5 # Version Exclusion. Anything except version 3.5 Mopidy-Dirble ~= 1.1 # Compatible release. Same as >= 1.1, == 1.*
インストールリスト表示
コマンドには「 list 」と「 freeze 」があります。どちらもインストールリストを表示しますが、表示形式が異なります。
実施の表示イメージをみましょう。
$ pip freeze absl-py==0.9.0 alabaster==0.7.12 anaconda-client==1.7.2
$ pip list Package Version ---------------------------------- ------------------- absl-py 0.9.0 alabaster 0.7.12 anaconda-client 1.7.2
最新版がインストールされていないパッケージを表示
このコマンドはよく使いますね。最新化する必要があるか判断するために必要です。
オプションは「 -o 」または「 --outdated 」
$ pip list -o Package Version Latest Type ----------------------------- ------------------- --------- ----- absl-py 0.9.0 0.11.0 wheel appscript 1.0.1 1.1.1 wheel asn1crypto 1.3.0 1.4.0 wheel
最新版がインストールされているパッケージを表示
オプションは「 -u 」または「 --uptodate 」。
$ pip list -u Package Version ---------------------------------- ----------- alabaster 0.7.12 applaunchservices 0.2.1 appnope 0.1.0
依存されていないパッケージのみを表示
オプションは「 --not-required 」。このオプションで実行することで、他のパッケージに依存するか確認ができます。
もし単独で使用しないが、他のパッケージで使用している可能性もるため、アンインストール実施の確認にも使用します。
$pip list --not-required Package Version ---------------------------------- ----------------- anaconda-project 0.8.3 argh 0.26.2 asn1crypto 1.3.0