search
LoginSignup
126

More than 3 years have passed since last update.

posted at

pyenvでPythonのバージョンを切り替えられない場合の対処法+

Python 3.5を使う必要があり、pyenvで設定を行なったのですが、Pythonのバージョンを切り替えられない問題にぶつかったので初投稿です。

想定読者

下記の記事を読んでも、この問題を解決できなかった方を想定しています。

環境情報

  • 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_profileeval "$(pyenv init -)"を追記して、source ~/.bash_profileを実行したところ…

$ python -V
Python 3.5.6


解決!
ドキュメントはきちんと読めということですね(反省)

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
126