在Mac OS X上安装了Python 3,但它仍然是Python 2.7

Pac*_*ver 52 python python-2.7 python-3.x osx-yosemite

我目前在MacBook Pro上运行OS X Yosemite(10.10.2)...默认情况下,Apple在Yosemite上运行Python 2.7.6.

刚刚下载并运行了Python 3的这个安装程序: python-3.4.3-macosx10.6.pkg

当我打开终端并输入时python,会出现这种情况:

Python 2.7.6 (default, Sep  9 2014, 15:04:36) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
Run Code Online (Sandbox Code Playgroud)

问题(S):

  1. 有谁知道Python 3.4.3解释器的安装位置?
  2. 在将全局环境变量(如PYTHON_HOME)设置为已安装的Python 3.4.3的位置之前,是否需要卸载Python 2.7.3(如果是这样,我该怎么做)?

rho*_*ron 121

尝试打字python3而不是仅仅打字python.


abh*_*bhi 27

虽然@ rhombidodecahedron的答案简明扼要,而@Nacho Izquierdo完美地解决了您的第一个问题,但我的答案旨在更详细地回答您的第二个问题:

应该卸载Mac OS X附带的Python 2.7; 它由Apple提供,对于在OS X上运行的应用程序是必需的.它存储在/System/Library/Frameworks/...如果将其删除,则必须重新安装Mac OS X.

希望有所帮助!要重申@rhombidodecahedron和@Nacho Izquierdo给出的答案,请单独安装Python 3.x并使用,python3如果您想使用该版本.

Python 2.7是标准,Python 3.x是未来.


Viv*_*mar 25

你不应该做的——

将默认的 python 二进制文件移动到一个未使用的名称

$ sudo mv /usr/bin/python /usr/bin/python2

然后将新的二进制文件移动到默认路径

$ sudo mv $PATHTOBINARY/python3 /usr/bin/python

什么可以做但也不应该做

由于我默认使用 zsh,因此我将以下内容放入.zshrc文件中:

$ echo "alias python=/usr/local/bin/python3.7" >> ~/.zshrc

如果您使用默认的 Bash shell,您可以将相同的文本附加到您的.bashrc

$ echo "alias python=/usr/local/bin/python3.7" >> ~/.bashrc

这会起作用,但不是推荐的方法,因为将来对 Python 进行更新将很困难。这意味着我们必须手动下载新文件,因为 Python 不包含命令行更新方式。

什么是正确的方法

所有 Python 开发的基本前提是永远不要使用系统 Python。您不希望 Mac OS X 的“默认 Python”为“python3”。

建议使用pyenv来管理 Python 环境。

$ brew install pyenv

$ pyenv install 3.7.3

$ pyenv global 3.7.3

$ pyenv version

刷新当前终端并检查

$ python -V

它应该给 Python 3.7.3

这样你就可以走了。

进一步参考 - https://opensource.com/article/19/5/python-3-default-mac

  • “刷新当前终端”步骤不太适合我。`python -V` 仍然向我显示 `2.7.6`。为了让它工作,我必须通过在我的`~/.bash_profile`中添加`eval "$(pyenv init -)"`来初始化pyenv。我将其添加到文件末尾。然后我重新获取了 bash 配置文件,再次运行“python -V”时,我现在可以正确地看到“3.7.6”。这个 github 问题解决方案帮助了我:https://github.com/pyenv/pyenv/issues/849 (18认同)
  • @du-it 不确定您是否找到了解决方法,但我遇到了同样的问题,并且能够通过将以下内容添加到 `~/.zprofile` 来解决: `export PYENV_ROOT="$HOME/.pyenv" export PATH=" $PYENV_ROOT/bin:$PATH" eval "$(pyenv init --path)"` 然后运行 ​​`source ~/.zprofile` 或重新启动终端 (3认同)
  • 不幸的是,即使遵循 `eval "$(pyenv init -)"` 建议,`python -V` 仍然会生成 Python 2.7.16,而不是刚刚安装的 3.9.7 (2认同)

小智 11

因为我知道我只会使用 python3,所以我将这两行添加到 .bash_profile 文件中:

alias python="python3" # to use python3 rather than python2.7
alias idle="idle3" # to use python3 idle rather than 2.7
Run Code Online (Sandbox Code Playgroud)


Bhi*_*tar 6

要使用Python 3.x,请键入python3而不是python.

  • 这与接受答案中的建议完全相同(大约2年前给出).为什么,在地球上,你会给出一个重复的答案?Downvoted. (8认同)