我的 Mac 上安装了多个版本的 python。
通常,我将 Anaconda 与 Python 2.7 结合使用。现在我决定尝试Python 3.6
环境参数:
which python
#/Users/User/anaconda/bin/python
which python3.6
#/usr/local/bin/python3.6
echo $PATH
/Users/User/anaconda/bin:/Library/Frameworks/Python.framework/Versions/3.6/bin:/Users/User/anaconda/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
问题是:
~ User$ /usr/local/bin/python3.6 --version
Python 2.7.14 :: Anaconda, Inc.
如何克服这个麻烦?
最佳答案
运行 python3.6 --version
时第二个命令的输出打印出 Python 2.7.14 字符串对我来说没有意义。您可以尝试从 PATH
中删除 Anaconda 目录。环境变量并查看是否可以解决该问题。
管理和安装多个Python版本的最简单方法是通过pyenv .
它允许您使用 pyenv install <version>
安装新版本适用于数十个 Python 版本,包括 CPython 以及 PyPy 等替代解释器。
我建议您尝试安装 pyenv:
$ brew install pyenv
然后通过它安装Python 3.6.5:
$ pyenv install 3.6.5
您也可以将此版本设置为系统范围内的默认 Python 版本:
$ pyenv global 3.6.5
然后在您想要 python
的项目中命令指向 Python 2.7 shim,您可以使用以下命令在该目录中设置本地版本:
$ pyenv local 2.7.14
使用这些命令,您只需运行 python
在您的任何一个项目目录中(如果需要,在设置自定义覆盖版本之后),而不必担心在某些地方调用 python3.6,在其他地方调用 python2.7 等。
在更高级的设置中,如果您有一个需要同时使用 Python 2 和 Python 3 的项目(例如在 shell session 中),您还可以提供多个 Python 版本:
$ pyenv shell 3.6.5 2.7.14
$ pyenv version
3.6.5 (set by PYENV_VERSION environment variable)
2.7.14 (set by PYENV_VERSION environment variable)
$ python --version
Python 3.6.5
$ python2 --version
Python 2.7.14
$ python3 --version
Python 3.6.5
(在这种情况下,您首先设置的版本就是 python
默认指向的版本。)
关于控制台中的 python 版本管理 : always results python 2. 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50426277/