Pythonの環境構築(2)
前回は極めてお手軽にPythonの学習環境を構築してみました。
今回はpyenvとvirtualenvを使って、もう少しピンポイントな環境を構築してみたいと思います。
pyenv
複数バージョンのPythonを1つのマシン上に同居させることができます。前回の作業でMacに最初から入っているPython2.7.10に加えPython3.5.1をインストールしましたが、pyenvを使うと例えばPython3.X系を複数インストールし、切り替えて作業することが可能となります。
自分はついカッとなってどの言語でも複数のバージョンが使えるようにすることが多いので(PerlbrewやNodebrew)、今回Pythonでもそうしてみようと思います。
virtualenv
これを使えばバージョン違いだけでばなく、同じバージョンのPythonでも異なる実行環境を作ることができます。何を言っているのかわからないかもしれませんが、例えばあるディレクトリ階層以下だけにpipなどで特定のパッケージ(Djangoとか)をインストールした実行環境が作れたりします。このサイトが詳しいです。
やってみる
MacといえばHomebrewというわけで、今回もHomebrewで必要なライブラリを揃えます。
$ brew install pyenv-virtualenv
~/.bash_profileに以下を追加します。
export PYENV_ROOT=${HOME}/.pyenv if [ -d "${PYENV_ROOT}" ]; then export PATH=${PYENV_ROOT}/bin:$PATH eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)" fi
pyenvでインストール可能なPythonのバージョンをリストアップしてみます。
$ pyenv install -l Available versions: 2.1.3 2.2.3 2.3.7 2.4 2.4.1 2.4.2 2.4.3 2.4.4 .........
今回は3.4.Xの最新、3.4.4をインストールしてみます。
$ pyenv install 3.4.4
インストールが完了したら、ローカルで切り替えられるPythonの環境を確認してみます。
$ pyenv versions * system (set by /Users/xxxxx/.pyenv/version) 3.4.4
systemに※が付いています。システムプリインストールのPythonが使われているようです。Pythonのバージョンを確認してみましょう。
$ python -V Python 2.7.10
Pythonのバージョンを切り替えてみます。
$ pyenv global 3.4.4
globalと指定するとシステム全体でのPythonのバージョンを変えることができます。
再度Pythonのバージョンを確認してみますと以下のようになりました。
$ python -V Python 3.4.4
pyenvだけで随分長くなってしまいました。virtualenvについてはまた次回。