首先,/usr/local/bin/python不是Apple 提供的 Python;它总是在 /usr/bin/python 中。
其次,/Library/Python/XY除了站点包之外不应该有任何东西。特别是,您可以在此处放置希望由系统上的所有 PythonX.Y 框架构建共享的包。(还有 /usr/local/lib/pythonX.Y,它也有一个站点包,用于您希望由所有构建、框架和非框架共享的包。)
Apple 提供的实际 Python 本身位于 /System/Library/Frameworks/Python.framework 中。
大多数第三方框架构建在 /Library/Frameworks/Python.framework 中。但是,Homebrew、MacPorts 和 Fink 都安装到不同的位置。例如,Homebrew 将安装到`/usr/local/Cellar/python/XYZ/Frameworks/Python.framework。
相反,非框架构建会进入 /usr/local/share/pythonX.Y 之类的地方——尽管 Homebrew、MacPorts 和 Fink 再次安装到不同的地方。
最后,许多安装将创建符号链接(或者,有时,包装脚本)到更典型的地方。特别是,/usr/local/bin/python 可能是一个符号链接,指向相应的 Python.framework 中的 Versions/XY/bin/python,如上所述。
如果这对你来说太混乱了,甚至无法理解,最简单的做法是卸载你安装的额外 Python2.7,然后使用 Apple 的. 有些人肯定有充分的理由拥有另一个 Python 2.7(上面链接的博客文章显示了其中的一些),但如果你没有这样的理由,为什么要让自己更难呢?
由于看起来您正在使用 Homebrew,您甚至可以非破坏性地测试将其移开是否会导致任何问题:brew unlink python
将从您的正常 PATH 中删除 Homebrew Python 的所有痕迹,但留下实际文件。然后,如果你想要它回来,只是brew link python
; 如果没有它你会更快乐,brew uninstall python
.
值得注意的是,许多认为需要多个 PythonX.Y 安装的常见原因可以通过使用virtualenv
.
如果您使用的是 MacPorts 或 Fink,它们明确设计为尽量避开标准系统位置。因此,所有内容都将安装在 MacPorts/Fink 根目录下的某个位置,默认分别为/opt/local
或/sw
。(我会假设/opt/local
。)这意味着框架构建将在某个地方,例如/opt/local/Library/Frameworks
,符号链接到/opt/local/bin
等/opt/local/lib
。站点包将位于/opt/local/Library/Python/X.Y
和/或/opt/local/lib/pythonX.Y
.
所以,与任何其他 Python 安装没有任何冲突的可能性......当然,除了那个/opt/local/bin
并且/usr/local/bin
可能都在你的 PATH 上,它仍然可能pip
意味着/usr/local/bin/pip
来自 Apple 或 Python.org 安装,而ipython
意味着/opt/local/bin/ipython
来自 MacPorts 一个......< /p>