2017-08-13 35 views
0

我正在使用macOS Sierra。我有使用pyenv的問題。 我想用pyenv。所以我添加了關於pyenv的路徑。pyenv似乎在終端重啓後恢復到較老的Python版本

$是shell。

$ vi ~/.bash_profile 

[.bash_profile中]

export PYENV_ROOT=/usr/local/var/pyenv 
if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi 
if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi 

$ source ~/.bash_profile 

$ pyenv install 3.6.2 
$ pyenv global 3.6.2 
$ python -V 
(Console Output) Python 3.6.2 

我重新啓動終端。

$ python -V 
(Console Output) Python 2.7.10 

我再次輸入,pyenv global 3.6.2的外殼,但

$ python -V 
(Console Output) Python 2.7.10 

[更新〜/ .bash_profile中]

Sangwon-Hong-MacBook-Pro:~ Frodo$ source ~/.bash_profile 
Sangwon-Hong-MacBook-Pro:~ Frodo$ python -V 
Python 3.6.2 
Sangwon-Hong-MacBook-Pro:~ Frodo$ echo $PATH 
/Users/Frodo/64bit-Multicore-OS/cross/bin:/usr/local/Cellar/ruby/2.4.1_1/bin:/usr/local/bin:/usr/local/Cellar/pyenv-virtualenv/1.1.0/shims:/usr/local/var/pyenv/shims:/opt/local/bin:opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/Frodo/.rvm/bin 

[重啓]:PATH不更新。

Sangwon-Hong-MacBook-Pro:~ Frodo$ python -V 
Python 2.7.10 
Sangwon-Hong-MacBook-Pro:~ Frodo$ echo $PATH 
/opt/local/bin:opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/Frodo/.rvm/bin 

什麼問題?

+0

我不太清楚是什麼在您的文章是輸入,什麼是控制檯輸出。我*認爲*我已修復它,但有另一種看法來確保。 –

+0

這個'.bash_profile'在哪裏?它在你的主目錄(即'〜/ .bash_profile') – donkopotamus

+0

是的,它在我的主目錄(/ Users/Frodo /)中。 我發現問題。 當我輸入source〜/ .bash_profile和echo $ PATH時,它會更新關於pyev路徑。 但是,當我重新啓動終端和echo $ PATH時,關於pyenv的路徑不包含在$ PATH中。我不知道爲什麼... – Frodo

回答

0

我會建議使用pyenv + virtualenv,非常好的組合。

  • 在MacOS海伊謝拉安裝pyenv

    brew update brew install pyenv brew install pyenv-virtualenv

  • 需要安裝Python版本:

    export CFLAGS="-I$(brew --prefix openssl)/include" export LDFLAGS="-L$(brew --prefix openssl)/lib" pyenv install 3.6.3; pyenv install 2.7.14

  • 添加到bashprofile

    ###PYENV export PYENV_ROOT=/usr/local/opt/pyenv eval "$(pyenv init -)" if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi alias pyt='pyenv activate' alias pys='pyenv shell' alias pyd='pyenv deactivate' alias pyu='pyenv uninstall' #delete virtualenv alias pyv='pyenv virtualenv' #create virtualenv alias pyls='pyenv virtualenvs' #list virtualenvs export PYENV_VIRTUALENV_DISABLE_PROMPT=1 #disable deprecated future

你可以直接命令,而不是別名。

最佳, 伊萬

相關問題