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

pyenvとvirtualenvを使ってみる

Python

昔pyenv使おうとしてうまく行かなくてpyenv恐怖症だったんだけど、
いい加減使えるようになろうと思って入門したのでメモ

みんなpyenvとvirtualenvって当たり前のようにいってて怖くて、
何が違うの?って感じだった。

pyenv

pythonのバージョン切り替える

virtualenv

virtualenvを使うとpythonの仮想環境を1つのバージョンに対してたくさんつくれる

自分の理解だと、pyenvだけだと2.7.8を使ってるプロジェクトAとプロジェクトBの環境が一緒になってしまう。
virtualenvを使うと、2.7.8のプロジェクトA用、プロジェクトB用それぞれの環境が作れる。
(間違ってたらごめんなさい、教えてください。)

インストール

Macだったら

brew install pyenv-virtualenv

これでpyenvとvirtualenvのプラグインが入るらしい。

.zshrcとか.bash_profileとかにこれを追加

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


いつもは2.7を使ってるんだけど、3.4を入れてみる

pyenv versions

最初はこれやると、systemしか無いと思う。

pyenv install -l

で入れられる環境を見て、
今回は3系を入れたいので

pyenv install 3.4.1

とする。 そうすると少し時間がかかって3.4.1が入る。
もう一度pyenv versionsをすれば、3.4.1がリストに入っているはず。

f:id:cocodrips:20140902165723p:plain

追記(2015/11/20)
Mac OS X 10.9以降では

ERROR: The Python zlib extension was not compiled. Missing the zlib?

というようなエラーが出ます。こちらを参考にしてみてください。
[kz] pythonインストール覚書 | kazscape



3.4.1の仮想環境を作る

なんかディレクトリを作ってみる

mkdir pyenv_test
cd pyenv_test

lesson3.4.1っていう環境を作ってみる

pyenv virtualenv 3.4.1 lesson3.4.1
pyenv versions

lesson3.4.1ってのが追加されたはず。

そしたらディレクトリの環境を早速lesson3.4.1にしてみる。

pyenv local lesson3.4.1
pyenv rehash

python -Vをすると3.4.1になっているのが確認できるはず。
pip listをすると、pip, setuptoolsしか入っていないのが確認できる。

pyenv使ってみたけど、なんか最近はいろいろ他にもあるらしい

anyenvで開発環境を整える - Qiita

pyenvオワコン、direnv最強 - None is None is None