PythonでPyPIパッケージをローカルインストールして使うには、virtualenvを使う。
$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 12.04.2 LTS Release: 12.04 Codename: precise
まず、apt等のパッケージマネージャでvirtualenvをインストールする。 このとき、Python用のパッケージマネージャpipも一緒に入る。
$ sudo apt-get install python-virtualenv
適当なディレクトリに移動した後、次のようにすることでENV
以下に仮想Python環境が作成される。
$ mkdir test $ cd test/ $ virtualenv --distribute ENV New python executable in ENV/bin/python Installing distribute.............................................................................................................................................................................................done. Installing pip...............done.
仮想Python環境を有効にするには次を実行する。 仮想環境に入っている間は、シェルのプロンプトに環境名が表示される。
$ source ENV/bin/activate
仮想環境に入った状態でpipコマンドを実行することで、ライブラリがローカルインストールされる。 たとえば、次の例では高機能対話シェルbpythonをインストールする。
(ENV)$ pip install bpython Downloading/unpacking bpython Downloading bpython-0.12.tar.gz (130Kb): 130Kb downloaded Running setup.py egg_info for package bpython warning: no files found matching 'bpython/translations/*/LC_MESSAGES/bpython.mo' Downloading/unpacking pygments (from bpython) Downloading Pygments-1.6.tar.gz (1.4Mb): 1.4Mb downloaded Running setup.py egg_info for package pygments Installing collected packages: bpython, pygments Running setup.py install for bpython warning: no files found matching 'bpython/translations/*/LC_MESSAGES/bpython.mo' Installing bpython-urwid script to /home/user/tmp/test/ENV/bin Installing bpython script to /home/user/tmp/test/ENV/bin Installing bpython-gtk script to /home/user/tmp/test/ENV/bin Running setup.py install for pygments Installing pygmentize script to /home/user/tmp/test/ENV/bin Successfully installed bpython pygments Cleaning up... (ENV)$ bpython
pip freeze -l
は仮想環境内にインストールされているパッケージの一覧を出力する。
この出力をrequirements.txt
というファイル名で保存しておけば、これを利用して別の環境で同一のライブラリを揃えることができる。
(ENV)$ pip freeze -l > requirements.txt (ENV)$ pip install -r requirements.txt
仮想環境から抜けるには、deactive
コマンドを実行すればよい。
(ENV)$ deactivate
PyPIから入れられないパッケージについては、ファイル本体やgit等からインストールすることもできる。 次の例は、現時点でPyPIからのインストールに失敗するdpktをファイル本体からインストールする。
$ pip install https://dpkt.googlecode.com/files/dpkt-1.7.tar.gz