3

不久前我更新到 Mountain Lion,之前使用过 python,现在我的电脑上安装了 8 个(是的,8 个)版本的 python。

$ ls -l /System/Library/Frameworks/Python.framework/Versions/
total 8
drwxr-xr-x   6 root  wheel  204 Jun 20 16:23 2.3
drwxr-xr-x  11 root  wheel  374 Aug 22 13:32 2.5
drwxr-xr-x  11 root  wheel  374 Aug 22 13:32 2.6
drwxr-xr-x  11 root  wheel  374 Aug 22 13:32 2.7
lrwxr-xr-x   1 root  wheel    3 Jul 29 17:41 Current -> 2.7

我很想擦除所有这些并清理所有内容,并且我更喜欢将所有路径设置为Mountain Lion 附带的系统python。我的目标是简单和清洁。几乎六个月来,我一直在尝试这样做,断断续续......网上有许多“解决方案”和脚本可以解决这个问题,但没有一个完全有效,甚至无法理解。谁能告诉我如何从我的 Mac 中获取这些不需要的 Python 版本,或者至少如何设置我的 Mac,以便一切都很好地融入 Mac 系统版本的 Python。我没有太多我特别需要使用的旧 Python 文件,但我注意到我在安装 Python 东西和运行 .py 脚本时遇到了麻烦,因为路径都被混淆了或类似的东西。

另外,我明白了:

$ echo $PATH
/Library/Frameworks/Python.framework/Versions/Current/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/Library/Frameworks/Python.framework/Versions/Current/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/texbin:/usr/local/mysql/bin

……有点吓人。

谢谢你的帮助。我熟悉 UNIX shell 脚本,并且对系统管理的东西有中等程度的了解……但不是高级的。我是 R 的程序员,所以我知道如何编程以及所有这些。感谢任何建议!

4

1 回答 1

3

您实际上有 5 个,是的 5 个版本,而不是 8 个,不是 8 个。这 5 个中的 4 个是操作系统的一部分,永远不应该被删除。所以你只有1个多余的,而不是7个。

ls -l /System/Library/Frameworks/Python.framework/Versions/
total 8
drwxr-xr-x   6 root  wheel  204 Jun 20 16:23 2.3
drwxr-xr-x  11 root  wheel  374 Aug 22 13:32 2.5
drwxr-xr-x  11 root  wheel  374 Aug 22 13:32 2.6
drwxr-xr-x  11 root  wheel  374 Aug 22 13:32 2.7
lrwxr-xr-x   1 root  wheel    3 Jul 29 17:41 Current -> 2.7

那是 4。符号链接Current -> 2.7不是另一个版本,它又是同一个版本。这 4 个都随您的系统一起提供,并且可能被系统中的工具使用。你永远不应该摆脱它们,或者/System目录中的任何其他东西(或/usr/bin启动它们的快捷方式)。

同时,您的路径中有这些:

/Library/Frameworks/Python.framework/Versions/Current/bin:
/Library/Frameworks/Python.framework/Versions/2.7/bin
/Library/Frameworks/Python.framework/Versions/Current/bin

这只是同一版本的三个副本,很可能是来自 python.org 的官方 Python 2.7。我的猜测是您运行了一次旧式安装程序,然后运行了一次较新的安装程序。

但他们如何到达那里并不重要(除非它是通过Homebrew,在这种情况下brew unlink python,你就完成了)。您可以按照 python.org 上的卸载说明摆脱它,然后您将再次拥有最少的 4 个。

经过快速检查,我在 python.org 上找不到曾经有简单卸载说明的页面,但基本上是这样的:

rm -rf /Library/Frameworks/Python.framework

ls -l /usr/local/bin | grep Python.framework然后,您可以执行rm所有出现的操作。(您可以自动执行此操作,但最好准确查看要删除的内容。)

您可能还想找到将额外内容添加到 PATH 中的内容。可能要看的地方是~/.bash_profile(python.org 安装程序在哪里做),类似的文件,如~/.bashrcor ~/.profile(其他人可能告诉你把它放在哪里),可能是/etc/pathsor /etc/paths.d(你可能把它放在哪里使它与 GUI 应用程序一起工作) .

于 2012-11-30T23:51:55.487 回答