Python, pipでrequirements.txtを使ってパッケージ一括インストール
Pythonのパッケージ(ライブラリ)をpipで管理している場合、設定ファイルrequirements.txt
を使って指定のパッケージを指定のバージョンで一括インストールできる。
pipの基本的な使い方については以下の記事を参照。
pipの一括インストールオプション: -r requirements.txt
以下のコマンドで設定ファイルrequirements.txt
に従ってパッケージが一括でインストールされる。
$ pip install -r requirements.txt
設定ファイル名は任意だがrequirements.txt
という名前が使われることが多い。
requirements.txt
はコマンドを実行するディレクトリに置いておく。別ディレクトリにある場合は、絶対パスか、カレントディレクトリからの相対パスを指定する。
設定ファイルrequirements.txtの書き方
設定ファイル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.*
source: pip_install.rst
Pythonのコードと同じく#
以降はコメントとなる。
- 関連記事: Pythonのコメント、コメントアウトの書き方
==
や>
, >=
, <
, <=
などでバージョンを指定できる。バージョン指定を省略すると最新版がインストールされる。
カンマ,
で区切ると二つの条件をANDで指定できる。次の例では1.0
以上かつ2.0
以下のバージョンがインストールされる。
package >= 1.0, <=2.0
仕様の詳細については公式ドキュメントを参照。
- Requirements File Format - pip documentation v24.1
- Requirement Specifiers - pip documentation v24.1
- Version specifiers - Python Packaging User Guide
現在の環境の設定ファイルを書き出し: pip freeze
pip freeze
コマンドで現在の環境にインストールされたパッケージとバージョンがpip install -r
で使える設定ファイルの形式で出力される。
$ pip freeze
agate==1.6.0
agate-dbf==0.2.0
agate-excel==0.2.1
agate-sql==0.5.2
...
したがって、pip freeze
をリダイレクト>
でファイルに出力すれば、そのファイルを使って元の環境と同じバージョンのパッケージを別環境に一括でインストールできる。
以下のような流れ。
まずrequirements.txt
をファイルに出力する。
$ pip freeze > requirements.txt
このrequirements.txt
を別の環境にコピーして一括インストールする。
$ pip install -r requirements.txt