如何安全地删除Python框架文件,这些文件位于不同于Brew安装位置的地方?

54

我想要移除一个Python安装的位置,这个位置让brew报错,当我运行brew doctor时。

警告: Python已经安装在/Library/Frameworks/Python.framework

最好的方法是什么?

以下是更多细节/研究:

来自brew git website的消息:

重要提示:如果您选择安装不是这两个(系统Python或brewed Python)之一的Python,则Homebrew团队只能提供有限的支持。

在我移除额外的Python库之前,我想确保没有遗漏任何东西。具体而言,我想要移除整个Python.framework,即位于此处的文件。/Library/Frameworks/Python.framework/

我已经在Mavericks本地安装了Python 2.7.5,将使用此版本 - 位于以下路径中。(区别在于 - 我相信 - 它被放置在根/System文件夹而不是根/Library文件夹中。)良好的本地位置在这里:/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python 我已经使用brew install python3安装了Python 3.x,它被放置在这里:
==> Summary
    /usr/local/Cellar/python3/3.4.0  : 5076 files, 85M, built in 112 seconds

我能够直接删除这些文件吗?除了需要重新链接之外,还有其他后果吗?

这里是从2010年stackoverflow问题类似的问题中删除Python的步骤。

这种方法仍然可行吗?我需要注意什么吗?


我在Mac OS上安装了原生的Python,然后使用brew安装了Python,它创建了新的符号链接并更新了Python的哈希值,运行得非常好。如果不太担心删除旧的二进制文件,就没有必要将它们删除。 - Amit Dash
1个回答

72

我自己回答。我按照以下步骤进行,很简单。Pycharm(我使用的IDE)也会自动找到新库。这是我在Mavericks上删除额外Python库的步骤,这些库不是本地的,也没有通过brew安装。

步骤1: 本地Python 2.7.x版本位于此处/System/Library/Frameworks/Python.framework/Versions/2.7(或2.6等),因此您可以删除任何在其他地方安装的Python。

sudo rm -rf /System/Library/Frameworks/Python.framework/

或者,根据这篇文章,你应该brew安装python 2.7和python 3.x,并避免在Mavericks中使用系统python。

步骤2: 在应用程序目录中删除Python(也就是所有应用程序所在的那个目录)。

cd到文件夹/Applications,然后执行ls | grep Python来查看有哪些。

然后移除: sudo rm -rf "Python 3.3"

步骤3:

>>> brew prune

示例输出:

Pruned 0 dead formula Pruned 46 symbolic links from /usr/local

步骤4:运行brew doctor建议的步骤

sudo brew link python3

示例输出:

Linking /usr/local/Cellar/python3/3.4.0... 19 symlinks created


4
请你在/usr/local/bin中找到并删除任何指向已移除的/Library/Frameworks/Python.framework目录的损坏符号链接。 - Josh J
@mp3por - 请尝试运行ls -ld /usr/local/bin | grep Python - RichVel
请问如何在Mac OS X 10.6.4上卸载Python 2.7? - Anthony Wang
2
如果在 /Library/Frameworks/ 中没有 Python.framework,但是在 /Library 中有一个名为 python 的文件夹,我可以删除这个文件夹吗? - Eden Harder
8
不要这样做!这些信息可能在以前是正确的,但现在跟随它们是危险的。您的系统需要内置的Python位于其期望位置。因此,请勿更改系统Python,改用Homebrew Python。请参阅https://docs.brew.sh/Homebrew-and-Python.html。 - joshtch

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接