読者です 読者をやめる 読者になる 読者になる

Python3.3開発環境を整える

Python開発環境を整える

必要なもの。Rubyのgemやrbenvに相当するらしい。

pip
Pythonパッケージを管理する
virtualenv
system-wideと切り離したPython環境を作れる
virtualenvwrapper
virtualenvを管理する

Gentooなら

big my secret.: how python pip and virtualenv go along with gentoo emerge system

# emerge dev-python/pip dev-python/virtualenv dev-python/virtualenvwrapper

pip

pip 1.5.2 : Python Package Index
pip {COMMAND}って感じで使う。今、単純に

$ pip list
pip (1.5.2)
setuptools (1.1.6)
virtualenv (1.10.1)
virtualenv-clone (0.2.4)
virtualenvwrapper (4.1.1)

みたいにして出てきたものはsystem-wideのパッケージである。

virtualenv

virtualenv — virtualenv 1.11.2 documentation

$ virtualenv ENV

とするとENV以下に作業環境, site-packagesディレクトリなどが作られる。setuptoolsやpipに対応している。オプションを渡すことでpythonのバージョンなどを指定できる。

virutalenvwrapperを使用する場合、直接触ることはない。

virtualenvwrapper

virtualenvwrapper 3.5 — virtualenvwrapper 3.5 documentation
.bashrc

# 仮想環境ごとのパッケージが入る
export WORKON_HOME=$HOME/.virtualenvs
# 実際のプロジェクトのファイルが入る
export PROJECT_HOME=$HOME/Devel
source /usr/bin/virtualenvwrapper.sh
仮想環境管理

仮想環境のリストを表示する

$ workon

env1という仮想環境を作成する。すると直後に自動的にその環境に入ってくれるようだ。

$ mkvirtualenv env1
(env1)$ # <=プロンプトが変わっている

envから抜けるには

(env1)$ deactivate
$

後から入るには

$ workon env1
(env1)$

パッケージは普通にpip installすれば適切な場所に入る

(env1)$ pip install pyramid
(env1)$ lssitepackages
-入ったパッケージ一覧...-

環境の削除は

(env1)$ deactivate
$ rmvirtualenv env1
プロジェクト管理

mkprojectで仮想環境作成プロジェクト作成を一括して行える

$ mkproject proj1
(proj1) ~/Devel/proj1 $