控制台中的 python 版本管理 : always results python 2. 7

标签 python python-3.6

我的 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/

相关文章:

python - 有没有一种方法可以在不使用 python GIL 的情况下进行序列化/反序列化

python - 从相对时间 df 列构造日期列

python - 需要从不同列表中选取单个元素并将它们存储在字典中

python - PyCharm 中的部分 stub

python - 使用函数 multiprocessing.Pool 在 python 中出现奇怪的结果?

python - 导入 Pandas 会出现错误 AttributeError : module 'pandas' has no attribute 'core' in iPython Notebook

python - 最小最大缩放后随机森林回归 MAPE 除以零误差

python - Numpy:根据索引列表访问多维数组的值

python - 如何摆脱 Perl 和 Python [两者] 中的非 ascii 字符?

python - 如何从 numpy 数组中提取满足多个条件的行?