コンテンツにスキップ

パッケージ管理@Python

はじめに

本サイトにつきまして、以下をご認識のほど宜しくお願いいたします。


01. PIPによる管理:Package Installer for Python

セットアップ


requirements.txtファイル

要件とするパッケージのバージョンを指定する。

flask==2.0.2


pip.confファイル

pipコマンドのオプションを設定する。

[global]
break-system-packages = true
timeout = 60


01-02. pipコマンド

check

▼ checkとは

インストールされているパッケージ間の依存関係を正しく解決できるか否かを確認する。

$ pip3 check

No broken requirements found.

解決できなかった場合は、以下のようなエラーが出力される。

$ pip3 check

wagtail 2.6.1 has requirement django-modelcluster<5.0,>=4.2, but you have django-modelcluster 5.0.


install

▼ installとは

指定したパッケージをインストールする。

$ pip3 install <パッケージ名>

▼ --upgrade

pip自身を含む、指定したパッケージをアップグレードする。

アップグレード後は、pip3 checkコマンドで依存関係が正しいかを確認し、pip3 freezeコマンドで要件ファイルも更新する必要がある。

$ pip3 install --upgrade <パッケージ名>

# 依存関係を確認する。
$ pip3 check

# 要件ファイルを更新する。
$ pip3 freeze > requirements.txt

アップグレードできるパッケージを一括でアップグレードする場合は、パイプラインと組み合わせる必要がある。

$ pip3 freeze --local \
    | grep -v '^\-e' \
    | cut -d = -f 1  \
    | xargs -n1 pip3 install -U

pip自身をアップグレードする。

$ pip3 install --upgrade pip

▼ --user

$ pip3 install --user <パッケージ名>

▼ -r

バージョン管理とrequirements.txtファイルを元にパッケージをインストールする。

$ pip3 install -r requirements.txt

指定したディレクトリにパッケージをインストールもできる。

$ pip3 install -r requirements.txt --prefix=/usr/local


freeze

▼ freezeとは

pipでインストールされたパッケージを元に、要件ファイルを作成する。

# インストールのため
$ pip3 freeze > requirements.txt

# 上書きする場合
$ pip3 freeze >| requirements.txt
# アンインストールのため
$ pip3 freeze > uninstall.txt


list

▼ listとは

現在インストールされているパッケージの一覧を取得する。

$ pip3 list

Package                    Version
-------------------------- -------
click                      8.0.3
ghp-import                 2.0.2

...

wheel                      0.37.1
zipp                       3.7.0

・-o

アップグレードできるパッケージの一覧を取得する。

$ pip3 list -o

Package            Version Latest Type
------------------ ------- ------ -----
click              8.0.3   8.0.4  wheel
importlib-metadata 4.10.0  4.11.2 wheel

...

pyparsing          3.0.6   3.0.7  wheel
setuptools         60.5.0  60.9.3 wheel


show

▼ showとは

pipでインストールしたパッケージ情報を取得する。

$ pip3 show sphinx

Name: Sphinx
Version: 3.2.1
Summary: Python documentation generator
Home-page: http://sphinx-doc.org/
Author: Georg Brandl
Author-email: georg@python.org
License: BSD
# インストール場所
Location: /usr/local/lib/python3.8/site-packages
# このパッケージの依存先
Requires: sphinxcontrib-applehelp, imagesize, docutils, sphinxcontrib-serializinghtml, snowballstemmer, sphinxcontrib-htmlhelp, sphinxcontrib-devhelp, sphinxcontrib-jsmath, setuptools, packaging, Pygments, babel, alabaster, sphinxcontrib-qthelp, requests, Jinja2
# このパッケージを依存先としているパッケージ
Required-by: sphinxcontrib.sqltable, sphinx-rtd-theme, recommonmark


uninstall

▼ uninstallとは

指定したパッケージをインストールする。

$ pip3 uninstall -y <パッケージ名>

uninstall.txtファイルを元にパッケージをアンインストールもできる。

$ pip3 uninstall -y -r uninstall.txt