pyenvのインストール方法と使い方を解説!バージョンが切り替えられない時は?

Pythonのバージョン切り替えがしやすくなるツール「pyenv」はPythonを使った開発環境にインストールしてあると便利ですよね。

ただ、導入に少し手間がかかることもあるので、今回はpyenvのインストール方法と使い方を紹介します。

環境はMac OS Sierraでやっていきます。

 

pyenvのインストール

まずはpyenvをインストールします。今回はhomebrewからインストールしましょう。

以下のコマンドを入力します。

$ brew install pyenv

 

パスを通す

pyenvのパスを通すためにbash_profileを編集します。

$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

 

終わったら保存しましょう。

$ source ~/.bash_profile

 

pyenvでPythonをインストール

実際にバージョンを切り替えてみたいので、バージョンが異なるPythonを2つインストールしてみます。

インストールができるかどうかを確認したい場合は3つ目のコマンドを叩きましょう。

$ pyenv install 2.7.10
$ pyenv install 3.5.0
$ pyenv install --list

 

バージョンを切り替える

バージョンを切り替えてみます。

localの場合は今いるディレクトリに、globalの場合は全体に反映されます。

$ pyenv local 2.7.10
$ pyenv global 3.5.0

 

念の為変更が反映されているかを確認したいので、バージョンを確認してみましょう。

$ python --version
Python 2.7.10

 

このようになっていれば変更が反映されています。

 

変更が反映されていない場合

pyenvでのPythonのバージョンを切り替えたはずなのに変更が反映されていなかった場合もあるかもしれません。

$ pyenv versions
  system
* 2.7.10 
  3.5.0
$ python --version
Python 3.5.0

 

その場合、whichコマンドでパスを表示してみてください。

$ which python
/usr/bin

 

もしこのように表示されたらMacにデフォルトで入っているPythonを参照しています。

pyenvの方を参照するようにしたい場合は以下のように編集してください。

$ vim /etc/paths
/usr/local/bin
/usr/bin
/bin
/usr/local/sbin
/usr/sbin
/sbin

 

これでusr/binではなくusr/localが参照されるようになります。

whichコマンドでもう一度確認してみましょう。

$ which python
/usr/local/bin/pyenv

 

このようになります。

最後にもう一度pyenvのpythonのバージョンとpythonのバージョンが一致するか確認してみてください。