我正在尝试在全新安装的 macOS High Sierra 上安装 Homebrew 和 Python。HomeBrew 已成功安装,python、pip 等也已安装到 /usr/local/bin 文件夹中,并且我之前已将 编辑为顶部/etc/paths
有,但使用 时终端仍显示为 python 版本。我尝试重新启动终端和系统。/usr/local/bin
/usr/bin
/usr/bin
which python
在我重新安装操作系统之前,完全相同的设置运行良好。
/etc/paths
看起来像这样
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
编辑:echo $PATH
显示/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
但which python
仍然显示/usr/bin/python
答案1
/etc/paths
我们不建议也不需要修改系统路径(在)。
如果你已经通过 Homebrew (brew install python
和brew install python3
)安装了 Python,那么你应该仔细阅读以下注意事项:
brew info python
brew info python3
Homebrew 的处理为何python
如此特殊?
查看Homebrew 和 Python文档,因为 Homebrew 在不同的地方创建了相当多的符号链接并使用以下约定:
Homebrew 为 Python 2.7.x 提供了一个版本,为 Python 3.x 提供了另一个版本。可执行文件的组织方式如下,以便 Python 2 和 Python 3 都可以无冲突地安装:
python
指向macOS系统Python(无需手动PATH
修改)python2
指向 Homebrew 的 Python 2.7.x (如果已安装)python3
指向 Homebrew 的 Python 3.x(如果已安装)pip2
指向 Homebrew 的 Python 2.7.xpip
(如果已安装)pip3
指向 Homebrew 的 Python 3.xpip
(如果已安装)
python
这样做的原因是,如果 Homebrew Python 是作为其他公式的依赖项安装的,您不希望默认使用它,这可能会导致/usr/bin/env python
在其 shebang 行中使用的脚本出现问题。
还请注意,由于 Python 2 的遗留特性,Homebrew/Python 的行为将来可能会发生变化。
但我想python
指出 Homebrew 的python
!
因此,如果您确实想要引用python
Homebrew 的 Python 2.7 而不是系统 Python,则应将其添加到您的$PATH
in 中~/.bash_profile
:
export PATH=/usr/local/opt/python/libexec/bin:$PATH
... 并保持/etc/paths
原样。