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

256bitの殺人メニュー

インフラエンジニアだったソリューションアーキテクトなくわののブログ。こちらのBlogは個人の意見となっていて会社とは全く関係ありません。お約束です。[twitter:@kuwa_tw]めんどくさがりが重い腰を上げて何かをアウトプットすることにどれほどの意味があるのかを試してみたいブログでもある。

pyenv+virtualenv環境の作成方法まとめマン

はい、おつカレー様です。
桑野です。
最近暑いですね、カレーが捗りますか?ぼくは捗ってます。


最近PythonでWebアプリを書いたりもしているんですが、環境構築についてちょこちょこまとめておこうと思いまして書きます。

今日はpyenvの環境作成について、、、要するに自分メモですw

pyenv

Pythonでアプリやら、スクリプトやら使うのにpyenv環境、本番とかでもCentOS6でも使われるPythonは2.6系だったりして、3.3とか、2.7系を使いたい時にいちいちRPMビルドをしたくないし、Pythonのバージョンアップしたい時等、環境もわかりやすくなるし、ぐちゃぐちゃになったら作り直せるしpyenvは便利。

必要なパッケージのインストール。
$ sudo yum install vim gcc gcc-c++ make git openssl-devel zlib-devel readline-devel sqlite-devel bzip2-devel
pyenvのインストールと環境設定

まずインストールしましょ。
git cloneしてもってきましょ。

$ cd ~
$ git clone git://github.com/yyuu/pyenv.git .pyenv


次に.bashrcに環境変数を設定しましょ。
必要なのは、PYENV_ROOTとPYENV_ROOT/binにPATH通すこと。
通したら pyenv initでpyenvを使用する準備は完了です。

export PYENV_ROOT="${HOME}/.pyenv"
export PATH=${PYENV_ROOT}/bin:$PATH
eval "$(pyenv init -)"


.bashrcと.bash_profileにも入れておきましょう。

$ cat <<'EOF' >>~/.bashrc
export PYENV_ROOT="${HOME}/.pyenv"
if [ -d "${PYENV_ROOT}" ]; then
    export PATH=${PYENV_ROOT}/bin:$PATH
    eval "$(pyenv init -)"
fi
EOF
$ cat <<'EOF' >>~/.bash_profile
export PYENV_ROOT="${HOME}/.pyenv"
if [ -d "${PYENV_ROOT}" ]; then
    export PATH=${PYENV_ROOT}/bin:$PATH
    eval "$(pyenv init -)"
fi
EOF
pyenv-virtualenv

pyenvはプラグインが使用できますが、pyenv-virtualenvはpyenvでvirtualenv環境を構築するのに必要なプラグイン(他になんかあるのかな?)

$ source ~/.bashrc
$ cd ${PYENV_ROOT}/plugins
$ git clone git://github.com/yyuu/pyenv-virtualenv.git
pyenv環境のPythonインストール

後はpyenvコマンドでPythonインストールしましょ。

$ cd ~
# インストールできるPython環境の一覧表示
$ pyenv install -l
# バージョン2.7.5のPythonのインストール
$ pyenv install 2.7.5
# バージョン2.7.5のPythonをもとにした、django-devというVirtualEnv環境の作成
$ pyenv virtualenv --distribute 2.7.5 django-dev
使い方
$ cd ~
# global環境のPython変更(このpyenvを使用する場合デフォルト2.7.5が使用される)
$ pyenv global 2.7.5
# local環境のPython変更(実行ディレクトリに.python-versionファイルが作成され、そこ以下のディレクトリのPythonはlocal環境として使われる)
$ pyenv local django-dev
$ cat .python-version
django-dev


そんな感じで便利なので使ってみましょう!ではでは。


パーフェクトPython (PERFECT SERIES 5)

パーフェクトPython (PERFECT SERIES 5)


ラスト・アナコンダ [DVD]

ラスト・アナコンダ [DVD]