Python 3.5
を使う必要があり、pyenvで設定を行なったのですが、Pythonのバージョンを切り替えられない問題にぶつかったので初投稿です。
想定読者
下記の記事を読んでも、この問題を解決できなかった方を想定しています。
- pyenvのインストール、使い方、pythonのバージョン切り替えできない時の対処法
- pythonのバージョンが切り替わらない
- Mac OS Xで複数バージョンのPythonを利用する(1)複数Verインストール編
環境情報
- OS : macOS High Sierra 10.13.6(17G65)
- Shell : bash
[前提] 問題にぶつかるまで
アクション開始前の状況です。
$ python --version
Python 2.7.10
https://github.com/pyenv/pyenv#homebrew-on-mac-os-x を参考に、Homebrewを使用してpyenv
をインストール。
$ brew update
$ brew install pyenv
pyenv
を使用して、Python 3.5.6
をインストール。
$ pyenv install 3.5.6
バージョンを切り替える前。
$ pyenv versions
* system
3.5.6 (set by $HOME/.pyenv/version)
バージョンを切り替え。
$ pyenv global 3.5.6
バージョンを切り替えた後。
$ pyenv versions
system
* 3.5.6 (set by $HOME/.pyenv/version)
Pythonのバージョンを確認してみると…
$ python --version
Python 2.7.10
orz
各コマンドの参照先は以下の通り。
$ which python
/usr/bin/python
$ which pyenv
/usr/local/bin/pyenv
~/.bash_profile
の$PATH
に$HOME/.pyenv/shims
を追加してみたものの…
$ python --version
Python 2.7.10
/etc/paths
を確認。この設定でも、/usr/bin/python
が優先実行されてしまう。
/usr/bin/python
/usr/local/bin/pyenv
解決方法
https://github.com/pyenv/pyenv#homebrew-on-mac-os-x を読み直してみたら、「pyenv init
を使うように!」とあったので、早速実行。
$ pyenv init
# Load pyenv automatically by appending
# the following to ~/.bash_profile:
eval "$(pyenv init -)"
指示通り、~/.bash_profile
にeval "$(pyenv init -)"
を追記して、source ~/.bash_profile
を実行したところ…
$ python -V
Python 3.5.6
解決!
ドキュメントはきちんと読めということですね(反省)