【Python中級者への道】pipでパッケージを一括インストールする


まとめへのリンク

はじめに

Pythonの勉強をするために、acopyという群知能ライブラリを写経していました。

acopyでは、多くのPythonの面白い文法・イディオムが使われており、その中でも便利だなぁというのをまとめています。

今回は、Pythonのパッケージの一括インストール・書き出しについてです。

pip

pipは、Pythonの公式パッケージマネージャーです。
サードパーティ製のライブラリのインストールを、pipのみで簡単に行うことができます。

古めの言語は、このライブラリのインストールが非常に面倒だったりするため
Pythonのpip
Nodejsのnpm
など、パッケージマネージャーがあると非常に便利ですね。

パッケージの読み込み

pipを利用することで

pip install ライブラリ名

という形で、ライブラリをインストールできます。

ただ、例えばGitで他の方が書いたレポジトリを使用したい時
インストールするべきライブラリが山程必要な場合があります。

そこで、requirements.txtという
使用するライブラリのバージョン名とその名前を書き出したテキストファイルを読み込み事で
一括でインストールすることができます。

requirements.txt
alabaster==0.7.12
Babel==2.7.0
beautifulsoup4==4.8.1
boto==2.49.0
boto3==1.10.1

上記のような中身になっています。

requirements.txtの存在するディレクトリで

pip install -r requirements.txt

としてあげればよいです。

パッケージの書き出し

パッケージの読み込みをしたあとは、パッケージの書き出し
つまり、プロジェクトで使用するパッケージをすべて洗い出して、他の環境でもすぐにインストールできるようにさせる ことが可能です。

pip freeze

というコマンドを打つと

alabaster==0.7.12
Babel==2.7.0
beautifulsoup4==4.8.1
boto==2.49.0
boto3==1.10.1
botocore==1.13.1
cachetools==3.1.1

上記のように、ターミナルに、ライブラリ名とバージョンが表示されます。

よって、あとはこれをパイプでファイルに出力させてやればよいです。

pip freeze > requirements.txt

このrequirements.txtをGitHubのリポジトリに入れてあげれば
より簡単にパッケージをインストールすることができて、嬉しさです。

最後に

パッケージの一括インストールを見てきました。

pipenvを使用すると、どうやら自動でrequirements.txtにあたる
パッケージをまとめたファイルが作成されるようです。
非常に楽っぽいので、触ってみようと思います。

参考文献