Homebrew brew doctor警告/Library/Frameworks/Python.framework,即使已安装brew的Python

73 投票
6 回答
48808 浏览
提问于 2025-04-17 21:19

当我在 Homebrew 上运行 brew doctor(我的系统是 Mac OS X 10.9.2)时,出现了以下警告信息:

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

Homebrew 只支持使用系统自带的 Python 或者通过 Homebrew 安装的 Python。特别是,安装在 /Library 的 Python 可能会干扰其他软件的安装。

所以,我运行了 brew install,并按照安装时的提示步骤来安装 Homebrew 的版本的 Python。运行 which python 确认 Homebrew 的版本确实在我的 PATH 的最前面。输出结果是 /usr/local/bin/python

尽管如此,当我再次运行 brew doctor 时,仍然收到了 相同的警告信息。我该如何消除这个警告?我需要从电脑中删除 /Library/Frameworks/Python.framework 这个目录吗?我是不是应该忽略它?是不是有其他应用程序导致这个警告出现?

需要注意的是,我没有任何应用程序因为这个 brew doctor 的警告而出现错误。另外,这个警告信息并不是我每次运行 brew doctor 时都会出现的,它是最近才开始出现的。而且,我的电脑上使用的是 Python 2.7,尽量不使用 Python 3。

6 个回答

2

手动删除文件夹可能会让人感到头疼,但幸运的是,'brew'可以帮你解决这个问题。当你完成删除后,输入这个命令:

brew doctor

这个命令会列出那些坏掉的系统链接。为了清除这些坏链接,你可以输入这个命令:

brew prune

再用'brew doctor'检查一次,确保没有链接坏掉。这样你的系统就可以正常使用brew了。

14

你可以使用我下面提供的这个解决方案

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

brew doctor 

brew prune

brew update

这个组合解决了我的问题,虽然这个错误通常不会引起什么大问题,但看到它们在brew doctor下出现还是让我觉得很烦。

21

根据这个讨论,你可以输入这个命令:

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

这是因为你的电脑上安装了多个版本的Python,这个命令会删除可能在将来引发其他问题的那个版本。

37

我也收到了这个消息。

某个时候,有东西在我的电脑上安装了

/Library/Frameworks/Python.framework

这个文件夹(它的创建日期大约是4年前)。

我决定把它删除掉。

请注意,苹果自带的框架在这里:

/System/Library/Frameworks/Python.framework/

33

我也遇到过同样的问题。当我通过Homebrew升级python3后,开始出现了这个:

-bash: python3: command not found

我发现Python好像在/Library/Framework/Python.framework这个地方也被安装了,导致了冲突。我只需要执行一个brew link overwrite命令,现在一切都正常了。关于如何处理/Library/Framework/Python.framework里的Python版本,这里有一些信息在这里

你可以尝试按照链接的建议删除那个版本,但要确保那个版本没有在使用。当我进入Python.framework目录时,发现里面有一个EPD版本的Python,我想那是Enthought的。你可以删除它,但如果它除了让Homebrew发出警告信息外没有造成其他问题,我觉得你可以暂时忽略它。

更新:

我确实删除了Python.framework目录,经过一些探索,我发现里面有几个旧版本的Python,这些版本不是通过Homebrew安装的。其中一个是Enthought的,另一个是Python3.3的发行版。我觉得Framework目录里的这些安装大多数都是用户自己安装的。我在系统上安装了R,也有一个R.framework目录,所以我认为这些大部分都是用户安装的。删除目录后,我只需要运行brew prune来移除旧的符号链接。我检查了brew安装的Python 2.7.6和3.3.4,它们似乎都正常工作,所有我安装的包也都没问题。至于是否删除那个目录或Python版本,我觉得这个决定还是留给你自己去判断吧。

撰写回答