note.nkmk.me

Python, pipでrequirements.txtを使ってパッケージ一括インストール

Date: 2018-04-09 / tags: Python, pip

pipでPythonのパッケージ(ライブラリ)を管理している場合、設定ファイルrequirements.txtを使って指定のパッケージを指定のバージョンで一括インストールすることができる。

ここでは、

  • pipの一括インストールオプション: -r requirements.txt
  • 設定ファイルrequirements.txtの書き方
  • 現在の環境の設定ファイルを書き出し: pip freeze

について説明する。

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 ######`
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.*

Pythonのコードと同じく#以降はコメントとなる。

==>, >=, <, <=などでバージョンを指定できる。バージョン指定を省略すると最新版がインストールされる。

カンマ,で区切ると二つの条件をANDで指定できる。

次の例では1.0以上かつ2.0以下のバージョンがインストールされる。

package >= 1.0, <=2.0

現在の環境の設定ファイルを書き出し: 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
スポンサーリンク
シェア
このエントリーをはてなブックマークに追加

関連カテゴリー

関連記事