導入環境

pyenv        →Pythonのバージョン切り替え
virtualenv   →プロジェクトごとの仮想環境ツール
pip          →pythonのパッケージ管理ツール
ipython    →インタラクティブなpythonインタプリタ

依存関係があるパッケージインストール

# yum install -y gcc gcc-c++ make git openssl-devel bzip2-devel zlib-devel readline-devel sqlite-devel bzip2 sqlite

pyenvインストール

複数のバージョンのpythonを管理するためにpyenvをインストールする。

# git clone https://github.com/yyuu/pyenv ~/.pyenv
すべてのユーザで利用するため`~/.pyenv`ではなく`/usr/local/`に配置するほうがいいかも

.bashrc などに追記
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

そしてターミナルを開き直せばOKです。動作確認のためターミナルから次のように入力します。

# pyenv version
次のように出力されれば正常に動いています。

system (set by /home/hoge/.pyenv/version)

pythonインストール

$ pyenv install 3.5.2
$ pyenv install 2.7.12

pythonバージョン切替

pyenv global x.x.xまたは、pyenv local x.x.xでバージョンの切り替えができます。

globalとすると全体に、localにするとそのカレントディレクトリに反映されます。この反映はterminalを終了しても続くので、localでフォルダごとに設定するととても便利です。 そのシェルでの変更は、shellとすると、変更できます。これを使用した場合、今使用してるシェルでしかその環境が反映されません。なので、シェルを閉じた時後に再度開いた場合やシェルを複数開いた場合は、その環境変更は他に影響されることはありません。

$ pyenv global 2.7.12
$ pyenv rehash
$ python --version
Python 2.7.12

virtualenvインストール

virtualenvは、同じ(python)バージョンで違う環境を作成するためのもの

$ git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv

$ vi .bashrc
eval "$(pyenv virtualenv-init -)"

バージョンを指定しての仮想環境

“pyenv virtualenv [version] [virtualenv名]”

pyenv virtualenv 2.7.12 testvirtualenv

これで作成すると、”pyenv versions”でその仮想環境が表示されるようになります。

仮想環境をカレントディレクトリに適用

“pyenv local [virtualenv名]”

pyenv local testvirtualenv