如何卸载所有python版本并使用OS X 10.10的默认系统版本?


问题内容

我正在寻找一种方法来清除OS X 10.10上所有版本的python,但Mac随附的默认版本除外。我该如何进行?

目前,我有一些奇怪的行为。键入时,which -a python我得到以下输出:

/Users/harisfawad/anaconda/bin/python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
/usr/local/bin/python
/usr/bin/python

为什么在这里没有/System/Library/.../显示python的默认版本?我可以在Finder中找到该版本,所以我知道它没有被删除。

另外,echo $PYTHONPATH返回一个空行。

我可以继续删除所有这些文件夹,并期望默认版本正确运行吗?

我在http://bugs.python.org/issue7107上已经阅读过类似的查询,但是我不确定这是否仍然适用于python
2.7 / 3.4版本。

这也是一个类似的问题,如何在Mac OS X 10.6.4上卸载Python
2.7?
但是,我又不想粗心大意,并且在确保系统提供的版本有效之前先进行卸载。

更新: 运行时,brew doctor我得到了它Warning: "config" scripts exist outside your system or Homebrew directories.并继续列出中/.../anaconda/bin和中的“
config”文件/Library/.../bin

UPDATE2: 我已经成功返回到OS
X中包含的python的默认版本。所有以上版本的python都移至回收站,除了/usr/bin/python。谢谢@rhashimoto和@PadraicCunningham!


问题答案:

该文件/usr/bin/python(和/usr/bin/pythonw是指向同一文件的硬链接)实际上是一个启动程序,可从中调用Python的默认版本/System/Library/Frameworks/Python.framework/Versions。您可以使用命令或环境变量选择启动程序调用的版本(在Yosemite中为2.6和2.7)。defaults``VERSIONER_PYTHON_VERSION

如果要手动运行特定版本,则可以调用/usr/bin/python2.6/usr/bin/python2.7,它们是的符号链接/System/Library/Frameworks/Python.framework/Versions

您应该可以从路径中删除列出的所有其他Python实现,包括/Library/Frameworks/Python.framework/Versions/2.7/bin/python(不确定如何获得该实现)。在将其永久删除之前,将它们移动到某个位置(例如您的废纸folder文件夹)以测试您的更改仍然是明智的。