自制brew doctor警告关于/Library/Frameworks/Python.framework,即使使用brew';安装了Python

自制brew doctor警告关于/Library/Frameworks/Python.framework,即使使用brew';安装了Python,python,macos,python-2.7,homebrew,brew-doctor,Python,Macos,Python 2.7,Homebrew,Brew Doctor,当我运行自制的brew doctor(Mac OS X 10.9.2)时,我收到以下警告消息: 警告:Python安装在/Library/Frameworks/Python.framework Homebrew仅支持根据系统提供的Python或 酿制的蟒蛇。特别是,安装到/Library的python可以 干扰其他软件安装 因此,我运行了brew安装,并按照安装的警告输出中提供的步骤安装了自制版本的Python。运行whichpython可以确认自制版本的python确实是我的首选。输出为/us

当我运行自制的brew doctor(Mac OS X 10.9.2)时,我收到以下警告消息:

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

Homebrew仅支持根据系统提供的Python或 酿制的蟒蛇。特别是,安装到/Library的python可以 干扰其他软件安装

因此,我运行了
brew安装
,并按照安装的警告输出中提供的步骤安装了自制版本的Python。运行
whichpython
可以确认自制版本的python确实是我的首选。输出为
/usr/local/bin/python

尽管如此,当我重新运行brew doctor时,仍然会收到相同的警告消息。如何抑制此警告?是否需要从计算机中删除/Library/Frameworks/Python.framework目录?难道我就应该忽略它吗?我的计算机上是否有其他应用程序可能导致发出此警告


请注意,我没有任何应用程序因
brew doctor
的此警告而出现错误。还请注意,当我运行
brew doctor
时,此警告消息并不总是打印出来,它是最近开始出现的。另外,我在我的计算机上使用Python2.7,试图远离Python3。

我也遇到了同样的问题。当我通过自制软件升级python3时,我开始了解到:

-bash: python3: command not found
我与安装在
/Library/Framework/Python.Framework
中的Python有同样的冲突。我刚刚做了一个
brew链接覆盖
,现在一切正常。在
/Library/Framework/Python.Framework
中有一些关于如何处理Python版本的信息

我想你可以试着删除这个版本,就像链接建议的那样,只是确保这个版本没有被使用。当我进入Python.framework目录时,我看到了一些Python的EPD版本,我认为这是我所热衷的。你可以删除它,但我认为,如果除了难看的自制警告信息之外,它没有给你带来任何问题,那么我认为你现在应该忽略它

更新:


我确实删除了Python.framework目录,通过在该目录中翻找,我开始看到一些我没有用自制软件安装的Python旧版本。一个是来自Enthough,另一个是蟒蛇3.3的分布。我认为框架目录中的一些安装是用户安装。我在我的系统上安装了R,并且还有一个R.framework目录,所以我认为大多数都是用户安装的。删除目录后,我只需调用brew prune来删除旧的符号链接。我检查了python 2.7.6和3.3.4的brew版本,它们似乎与我安装的所有软件包都处于良好的工作状态。我想我将删除该目录或python版本的决定留给您自行决定

我也收到了这条消息

什么东西,什么时候安装的

/Library/Frameworks/Python.framework

在我的机器上(文件夹日期约为4年)

我已选择删除它

请注意,苹果提供的框架存在于

/System/Library/Frameworks/Python.framework/

根据,输入以下命令:

sudorm-rf/Library/Frameworks/Python.framework


因为您的计算机上有多个Python安装,这将删除一个可能在将来导致其他问题的安装。

手动删除目录可能是一场噩梦,但幸运的是“brew”可以解决这一问题。完成移除后,请将以下内容放入:

brew doctor
brew prune
上面的命令将列出断开的系统链接。要清除这些断开的符号链接,请放置以下内容:

brew doctor
brew prune

请再次与“brew医生”联系,确保没有断开的链接。您的系统将准备好进行brew。

您可以使用我在下面介绍的解决方案

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

brew doctor 

brew prune

brew update

该组合为我修复了它,尽管这个错误通常不会导致任何重大问题,但看到它们在brew doctor下弹出让我很恼火,我从自制安装了Python 3,然后直接从Python网站安装了另一个Python 3

我删除了
/Library/Frameworks/Python.framework
。我没有在
.bash\u profile
中添加任何
PATH
PYTHONPATH
变量。然后我在shell中检查了以下内容:

~$ python
Python 2.7.10 (default, Feb  7 2017, 00:08:15)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> quit()

~$ python3
Python 3.6.4 (default, Mar  9 2018, 23:15:12)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> quit()

~$
此外,我检查了以下内容:

~$ whereis python
/usr/bin/python

~$ whereis python3

~$ which python
/usr/bin/python

~$ which python3
/usr/local/bin/python3

~$ which pip
/usr/local/bin/pip

~$ which pip3
/usr/local/bin/pip3

~$ whereis pip

~$ whereis pip3

我有点担心,
whereis python3
whereis pip
whereis pip3
没有返回任何内容,但既然启动Python没有问题,我认为删除
/Library/Frameworks/Python.framework
是安全的。一个月后再问我一次。

不太激烈的方法是将Python.framework目录移动到其他名称,如Python.framework.old。如果有人出错,您可以通过这种方式将目录放回原位。这不是一个好的解决方案,因为许多应用程序都使用系统级Python。@JMCMAON443这不是系统级Python,而是您在homebrew之外安装的。在我的el capitan笔记本电脑上,位于
/Library/…
的python版本是实际使用的版本,并且与
/usr/local/bin/python
/usr/local/bin/python3
进行了符号链接。因此,在删除它们之前,请务必查看您的设置。我在哪里可以访问此/库目录?
brew prune
现在已被弃用,应改用
brew cleanup