当我运行 Homebrew的 brew doctor
(Mac OS X 10.9.2)时,收到以下警告消息:
警告:Python安装在/Library/Frameworks/Python.framework
Homebrew仅支持构建系统提供的Python或 一个酿造的Python。特别是,安装到/ Library的Pythons可以 干扰其他软件安装。
因此,我运行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。
答案 0 :(得分:36)
我也收到了这条消息。
某些东西,有时安装了
/Library/Frameworks/Python.framework
在我的机器上(文件夹日期约为4年)。
我选择将其删除。
请注意,Apple提供的框架位于
/System/Library/Frameworks/Python.framework /
答案 1 :(得分:33)
我遇到了同样的问题。当我通过Homebrew升级python3时,我开始得到这个:
-bash: python3: command not found
我在/Library/Framework/Python.framework
中以某种方式安装了与Python相同的冲突。我刚做了一个brew link overwrite
,现在一切正常。有关如何处理/Library/Framework/Python.framework
here中的Python版本的信息。
我猜您可以尝试删除链接建议的版本,只需确保该版本未被使用。当我进入Python.framework目录时,我看到了一些EPD版本的Python,我认为是Enthought。你可以删除它,但是如果除了难看的Homebrew警告信息之外它没有引起任何问题,那么我认为你现在应该忽略它。
更新
我确实删除了Python.framework目录,通过在该目录中的一些内容,我开始看到一些我没有用Homebrew安装的旧版本的Python。一个来自Enthought,另一个来自Python3.3。我认为Framework目录中的一些安装是用户安装。我在我的系统上安装了R,还有一个R.framework目录,所以我认为其中大部分是用户安装。删除目录后,我只需调用brew prune删除旧的符号链接。我检查了两个brew版本的python 2.7.6和3.3.4,它们似乎与我所有已安装的软件包处于良好的工作状态。我想我决定删除该目录或python版本,由您自行决定。
答案 2 :(得分:21)
per this thread,输入以下命令:
sudo rm -rf /Library/Frameworks/Python.framework
因为您的计算机上安装了多个Python,这将删除将来可能导致其他问题的那个。
答案 3 :(得分:13)
您可以使用此解决方案,因为我已将其置于
之下sudo rm -rf /Library/Frameworks/Python.framework
brew doctor
brew prune
brew update
那个组合为我修好了,甚至认为这个错误通常不会导致任何重大问题,只是让我感到烦恼,看到它们在brew医生下弹出
答案 4 :(得分:2)
手动删除目录可能是一场噩梦,但幸运的是“brew”可以解决这个问题。完成删除后,请输入:
brew doctor
上面的命令将列出损坏的系统链接。为了摆脱这些破碎的符号链接,请输入:
brew prune
再次检查'brew doctor'以确保没有链接断开。然后,您的系统就可以冲泡了。
答案 5 :(得分:0)
我已经从Homebrew安装了Python 3,然后直接从Python网站安装了另一个Python 3.
我删除了/Library/Frameworks/Python.framework
。我没有在PATH
中添加任何PYTHONPATH
或.bash_profile
个变量。然后我在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没有问题,我认为删除{{1}是安全的}}。一个月后再问我一次。