Python virtualenv

OSX 上の Python で(インストール済みパッケージ等の)環境を切り替えられるよう、 virtualenv をインストールする。複数Python バージョンをインストールし、それを切り替えるための pyenv というものもあるようだが、pyenv と virtualenv のそれぞれで切り替えを行うのは面倒だと思ったので pyenv は使用しない。

まず pip をインストールして、pip を使って virtualenv をインストールする。

curl -LO https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
sudo pip install virtualenv
mkdir ~/.virtualenv

Windows では virtualenvwrapper が使用できないようだ。職場の Windows 環境と合わせるため、ここ(OSX)でも virtualenvwrapper なしでやってみる。 OSX Marvericks では python2.5, 2.6, 2.7 が標準でインストールされている。それぞれ仮想環境を作ってみる。 まず Python2.5。

cd ~/.virtualenv
virtualenv --python=/usr/bin/python2.5 py25

"ERROR: this script requires Python 2.6 or greater." というエラーが出た。残念ながらこのバージョンの virtualenv は Python2.5 をサポートしないようだ。

virtualenv --python=/usr/bin/python2.6 py26
virtualenv --python=/usr/bin/python2.7 py27

はそれぞれエラーなく実行できた。py26 環境に切り替えるには

. ~/.virtualenv/py26/bin/activate

を実行する。Python3 の環境も作ってみる。Python3 は homebrew でインストールする。 XCodeApp Store からインストールした後、

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

で、homebrew をインストールした。その後、

brew install python3
virtualenv --python=/usr/local/bin/python3.4 py34

で Python3.4 およびそれ用の仮想環境を作った。

今作った仮想環境に簡単に切り替えられるよう ~/.bashrc に

alias py27='. ~/.virtualenv/py27/bin/activate'
alias py34='. ~/.virtualenv/py34/bin/activate'

と書いておいた。これで

py27         <--- Python2.7 環境に切り替え
deactivate   <--- virtualenv 環境から抜ける
py34         <--- Python3.4 環境に切り替え

できる。virtualenvwrapper があれば deactivate は不要になるようだが、とりあえずこれでやってみる。