无法用pyen切换Python

2024-03-29 09:36:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用pyenv来切换python2和python3。

我用以下代码成功下载了python2、python3和pyenv。

brew install pyenv

brew install pyenv-virtualenv

pyenv install 2.7.10

pyenv install 3.5.0

但是,我不能从python2切换到python3。。

Soma-Suzuki:~ Soma$ python --version
Python 2.7.10
Soma-Suzuki:~ Soma$ pyenv global
2.7.10
Soma-Suzuki:~ Soma$ pyenv versions
  system
* 2.7.10 (set by /Users/Soma/.pyenv/version)
  3.5.0
Soma-Suzuki:~ Soma$ pyenv global 3.5.0
Soma-Suzuki:~ Soma$ pyenv global
3.5.0
Soma-Suzuki:~ Soma$ pyenv versions
  system
  2.7.10
* 3.5.0 (set by /Users/Soma/.pyenv/version)
Soma-Suzuki:~ Soma$ python --version
Python 2.7.10
Soma-Suzuki:~ Soma$ 

我不明白为什么会这样。

供你参考。 我的python在这个目录中。

Soma-Suzuki:~ Soma$ which python
/usr/bin/python

提前谢谢你。


Tags: install代码pyenvbyversionversionssystemglobal
3条回答

试试这个:eval“$(pyenv init-)”

示例:

$ python -V
Python 2.7.9
mac:~ $ eval "$(pyenv init -)"
mac:~ $ python -V
Python 3.5.0

更多信息: https://github.com/yyuu/pyenv

您忘记将此eval "$(pyenv init -)"添加到.bash_配置文件(如果您使用的是Mac)或.bashrc文件的第一行。

这个答案只适用于那些使用鱼壳并找到这条线的人。Pyenv使用填隙片ref,因此为了使Pyenv与鱼壳协同工作,必须编辑~/.config/fish/config.fish文件,并在$PATH变量的开头追加pyen shim目录。这是我的config.fish的样子。

### PATH ###
set default_path /usr/local/bin /usr/bin /usr/sbin /bin /sbin
set macports /opt/local/bin
set androiddev ~/Android\ Development/platform-tools/
set rbenv ~/.rbenv/shims/
set pyenv ~/.pyenv/shims/
set anaconda /Users/m4punk/anaconda/bin/
set pg_config /Applications/Postgres.app/Contents/Versions/9.5/bin/


### Virtual Enviroment Wrapper ###

set -g VIRTUALFISH_HOME ~/Documents/Coding/python/virtualenvs
set -g VIRTUALFISH_DEFAULT_PYTHON /usr/local/bin/python3
eval (python -m virtualfish)

### NVM Settings ###
set -g NVM_DIR ~/.nvm

set -gx PATH $pyenv $default_path $macports $androiddev $rbenv $pg_config

setenv EDITOR sublime

相关线路如下

set pyenv ~/.pyenv/shims/

以及

set -gx PATH $pyenv $default_path $macports $androiddev $rbenv $pg_config

第一个为pyenv shim path创建一个变量,第二个将其添加到path变量的前面。只需保存并关闭,重新启动终端会话,就可以完成所有设置。

相关问题 更多 >