brewinstalled Python不重写系统Python

2024-10-01 09:17:42 发布

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

我刚刚用brew在OS X上安装了Python 3,python3命令现在使用brew Python 3.6启动解释器,但是python仍然使用默认系统Python 2.7打开解释器。在

我的理解是,默认情况下,brew Python现在应该覆盖系统Python。(即,见Order of /usr/bin and /usr/local/bin and more in $PATH)。在我的路径中,/usr/local/bin在/usr/bin之前,所以不应该是路径问题。我试过重启终端,但没有效果。在

这是我的完整路径,以防相关。在

/Users/**/.rvm/gems/ruby-1.9.3-p362/bin:/Users/**/.rvm/gems/ruby-1.9.3-p362@global/bin:/Users/**/.rvm/rubies/ruby-1.9.3-p362/bin:/Users/**/.rvm/bin:/Users/**/.rvm/bin:/Users/**/Python/PmagPy/programs/conversion_scripts2/:/Users/**/Python/PmagPy/programs/conversion_scripts/:/Users/**/Python/PmagPy/programs:/usr/local/heroku/bin:./bin:/usr/local/sbin:/usr/local/bin:/usr/local/share/npm/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/opt/X11/bin

为什么brew Python不优先?我该如何修复(或排除故障)?如果找不到其他选项,我可以创建一个别名,但我更喜欢了解发生了什么并找到问题的根源。在

更新:

我检查了“可能重复”的问题,但我的问题似乎不是链接问题:

^{pr2}$

Tags: and路径binusrlocal系统解释器users
2条回答

TL;DR在您的.bash_profile(或等效物)中添加以下内容:

export PATH="/usr/local/opt/python/libexec/bin:$PATH"

说明

现在看来,通过自制程序处理python的方式有所不同(参见https://docs.brew.sh/Homebrew-and-Python)。在

  • python3 points to Homebrew’s Python 3.x (if installed)
  • python2 points to Homebrew’s Python 2.7.x (if installed)
  • python points to Homebrew’s Python 2.7.x (if installed) otherwise the macOS system Python. Check out brew info python if you wish to add Homebrew’s 3.x python to your PATH.

查看brew info python提示您需要做什么:

Unversioned symlinks python, python-config, pip etc. pointing to python3, python3-config, pip3 etc., respectively, have been installed into /usr/local/opt/python/libexec/bin

这意味着你必须在你的路径中的/usr/local/opt/python/libexec/bin之前加上/usr/bin(而不是像某些源代码中所说的那样/usr/local/bin

另请参见https://github.com/Homebrew/homebrew-core/issues/15746

我尝试了How to link home brew python version and set it as default中提出的一些解决方案,但没有一个奏效。python3链接最终解决了这个问题:

ln -s /usr/local/bin/python3 /usr/local/bin/python

相关问题 更多 >