即使安装了brew的Python,自制酿造医生也会警告有关/Library/Frameworks/Python.framework的信息


73

运行Homebrew brew doctor(Mac OS X 10.9.2)时,收到以下警告消息:

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

Homebrew仅支持针对系统提供的Python或现成的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。

Answers:


33

我有同样的问题。当我通过Homebrew升级python3时,我开始得到这个:

-bash: python3: command not found

我与以某种方式安装在Python中的Python发生了相同的冲突/Library/Framework/Python.framework。我刚刚做了一个brew link overwrite,现在一切正常。这里有一些有关如何处理Python版本的/Library/Framework/Python.framework 信息

我猜您可以尝试按照链接的建议删除该版本,只需确保未使用该版本即可。当我进入Python.framework目录时,我看到了一些EPD版本的Python,我认为是Enthought的。您可以删除它,但是如果它除了引起难看的Homebrew警告消息之外没有给您带来任何问题,那么我想您现在应该忽略它。

更新:

我确实删除了Python.framework目录,通过在该目录中进行一些查找,我开始看到一些未随Homebrew一起安装的Python旧版本。一个来自Enthought,另一个是Python3.3发行版。我认为Framework目录中的某些安装是用户安装。我在系统上安装了R,并且还有一个R.framework目录,所以我认为其中大多数是用户安装的。删除目录后,我只需要调用brew prune即可删除旧的符号链接。我检查了python 2.7.6和3.3.4的两个brew版本,并且它们与所有已安装的软件包似乎都工作正常。我想我决定自行删除该目录或python版本。


在我的酋长的笔记本电脑,在Python版本在/Library/...实际上使用的那些,并从被符号链接/usr/local/bin/python/usr/local/bin/python3。因此,请确保在删除它们之前先了解您的设置。
马歇尔·法瑞尔

在哪里可以访问此/ Library目录?
user70848 '17

36

我也收到了此消息。

某些东西,有时已安装

/Library/Frameworks/Python.framework

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

我选择删除它。

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

/System/Library/Frameworks/Python.framework/


21

此线程中,输入以下命令:

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

因为您的计算机上安装了多个Python,并且删除了将来可能导致其他问题的安装。


7
不太麻烦的方法是将Python.framework目录移动到其他名称,例如Python.framework.old。如果有人出错,可以将目录放回去。
Craig S. Anderson

1
这不是一个好的解决方案,因为许多应用程序都使用系统级Python。
jmcmahon443

2
@ jmcmahon443这不是系统Python,而是您在自制软件之外安装的系统。
纳文

14

您可以按照下面的说明使用此解决方案

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

brew doctor 

brew prune

brew update

该组合为我修复了该错误,甚至认为该错误通常不会导致任何重大问题,只是让我很讨厌看到它们在冲泡医生的帮助下弹出


2

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

brew doctor

上面的命令将列出断开的系统链接。为了摆脱这些损坏的符号链接,请输入以下内容:

brew prune

再次与“酿酒医生”联系,以确保没有链接断开。您的系统将准备冲泡。


brew prune现在已弃用,而brew cleanup应改用
msoutopico

0

我已经从Homebrew安装了Python 3,然后直接从Python网站安装了另一个Python 3。

我删除了/Library/Frameworks/Python.framework。我没有在中添加任何PATHPYTHONPATH变量.bash_profile。然后我在外壳中检查了以下内容:

~$ 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 python3whereis pip以及whereis pip3返回什么,但因为没有问题推出的Python,我认为它是安全的删除/Library/Frameworks/Python.framework。一个月后再问我。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.