我正在尝试将 Debian Jessie 上的 Python 3 升级到最新版本,但我想保留系统安装的 Python 2。默认情况下,python
命令执行 Python v2,python3
命令执行 Python v3。
python --version
Python 2.7.9
python3 --version
Python 3.4.2
如果我使用 pyenv 安装并切换到例如 Python 3.6.3:
pyenv install 3.6.3
pyenv global 3.6.3
现在两者python
都python3
指向 v3.6.3。
python --version
Python 3.6.3
python3 --version
Python 3.6.3
我怎样才能实现仅python3
指向新安装的版本,并python
一直指向系统安装的 Python v2?
答案1
这里的问题是您执行了pyenv global $python-version
并且这为该 python 执行定义了一个最终上下文。
最终,您应该使用 pyenv global 2.7.9 来切换回正常状态。但如果只需要默认的 python 版本,那么您只需禁用 pyenv。
echo "" > /home/$USER/.pyenv/version
这要求您实际上在系统级别安装了正确的版本(带有sudo apt-get install python3.6
)。
您还可以通过添加一个额外的位置来使用 $PATH 付费,该位置/bin/python2
而不是以符号链接的形式调用,但我真的担心 LD_LIBRARY_PATH 周围的副作用,特别是对于某些附加模块,但我没有对副作用进行足够的测试或挖掘。