開発 備忘録 pyenv でPythonの環境を整備する

pipとpip3をアップデートしていたら、なんだかPython2とPython3の環境、というかエイリアスが変更されちゃったような雰囲気になりました。エイリアスを切り直すのかなぁ、、とか思っていましたら、 pyenvなるものがあるそうで、とても便利そう。他にもディレクトリ単位でpython環境を変更できるpyenv-virtualenvなるものもあるそうで、ちょっと試してみることといたしました。で、とりあえず、今回はpyenvから。直接本家サイトからダウンロードしてくるってのもありなようですが、ここはお手軽にhomebrewで。

$ brew install pyenv

インストールが完了したら、~/.bashrcあたりに下記を

export PYENV_ROOT="${HOME}/.pyenv"
if [ -d "${PYENV_ROOT}" ]; then
    export PATH=${PYENV_ROOT}/bin:$PATH
    eval "$(pyenv init -)"
fi

~/.zshrcあたりに書いたりは、ご自身の環境をよく考えてお願いします。書き終えたら、

$ source ~/.bashrc

とするかターミナルを立ち上げなおしてください。そうしましたら、pyenvは、もうインストールされていますので、

$ pyenv install -l

 
とかしてあげると、インストール可能なPythonのバージョンがすべて表示されます。便利なのでは、pyenvのディレクトリ以下にインストールされるので、もともとインストールされていたPythonの環境と共存ができることです。インストールしたいバージョンを見つけたら

$ pyenv install 2.7.10

とか、やるとインストールが行われます。続けて

$ pyenv install 3.4.3

とか、やってPython3.Xもインストールしてあげます。インストールが終わったら

$ pyenv rehash

 
を忘れずに。versionsとすると

$ pyenv versions
* system (set by /Users/hideki/.pyenv/version)
  2.7.10
  3.4.3

インストールされているバージョンの一覧が表示されますが、アスタリスクがついているのが現在デフォルトになっている環境です。上記では、system すなわちもともとインストールされていたバージョンが選択されているようです。ここで、全体のバージョンを切り替えるには、

$ pyenv global 2.7.10
or
$ pyenv global 2.7.10 3.4.3

のようにすると、選択したいPythonのバージョンにアスタリスクがつきます。同様に、

$ pyenv local 2.7.10

で、特定のディレクトリ配下のバージョンのみ切り替えたり

$ pyenv uninstall 2.7.10

で、アンインストールができたりします。
これは、便利ですね。
超おすすめです。