pythonでの環境構築

pythonでの環境構築の手順をまとめます。
追記
pythonbrewは現状ではdeprecatedになってしまったので、似たような別プロダクトであるpyenvで記述を修正しました。

pythonbrew, pyenvをインストールする

pyenvはシステムのpythonを使わず、各バージョンのpythonを切り替えて使用できるようにするために使う。例えば2.6, 2.7, 3.0でそれぞれのバージョンに依存したプロジェクトを作成している場合、プロジェクトごとにpython切り替えなければならない。
次のvirtualenvと組み合わせてプロジェクトごとにクリーンな環境を用意する。

virtualenvはパッケージ環境をプロジェクトごとに用意するために使う。virutalenvが使うpythonを「pyenvでインストールしたpython」にすることでシステムpythonへの依存をなくす。

例:
プロジェクトA(python2.6, 依存パッケージA,B)
プロジェクトB(python2.7, 依存パッケージB,C),
プロジェクトC(python3.0, 依存パッケージA,C)

pyenvで利用するPythonのバージョンをインストールする

プロジェクトで使用するバージョンのPythonを用意する。ライブラリのパッケージはvirtualenvの--no-site-packagesでクリーンにインストールされるので、あくまでPythonバージョンとしての用意になる。

システムで用意されているPythonを使う場合には、ここでの作業は不要で次の仮想環境を作成するときに、そのPythonをvirtualenvの--pythonで指定すれば良い。システムにないPythonを使うときなど自前で用意したPythonバージョンを使うときに、pyenvでPythonをインストールする。

$ pyenv install 2.7.5

これでPythonをダウンロード&ビルドしてインストールすることができる。ビルドエラーになった場合は、Common build problems · yyuu/pyenv Wikiなどを参考にしてみる。

インストールされたpythonは~/.pyenv/versions/2.7.5/bin/pythonのようにpyenvのPYENV_ROOT以下にインストールされている。

プロジェクトの仮想環境を作成

virtualenvで仮想環境を作成する。
$ virtualenv --no-site-packages --python [pyenvでinstallした任意のpythonのパス] env
–no-site-packagesでパッケージ環境を空で作成。pythonのパスも指定。envというのは仮想環境の名前なので任意。

作成した仮想環境をアクティブにする。
$ source env/bin/activate
これでpyenvでインストールした特定バージョンのpythonが使われ、パッケージ環境はまっさらになります。

パッケージを利用する

pipで使いたいパッケージを追加。インストールされるのは仮想環境内なので自由にインストールしてよい。
$ pip install my-some-package

インストールされた依存パッケージを記述ファイルに出力する

このプロジェクトで使用されているパッケージをpackages.txtに出力し、環境を再度構築するときや、他の人がすぐに環境構築できるようにする。
$ pip freeze > packages.txt

環境を再構築するとき

まっさらなパッケージ環境から、依存パッケージをインストールし直す時。
$ pip install -r packages.txt
freezeした時に生成されたパッケージ情報から必要なパッケージをインストールする。

関連記事:

pythonでの環境構築」への1件のフィードバック

  1. ピンバック: ライブラリの配布について » Python Snippets

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)