Homebrew Brew Doctor warnt vor /Library/Frameworks/Python.framework, auch wenn Brews Python installiert ist

73

Wenn ich Homebrews brew doctor (Mac OS X 10.9.2) ausgeführt habe, wird die folgende Warnmeldung angezeigt:

Warnung: Python wird unter /Library/Frameworks/Python.framework installiert

Homebrew unterstützt nur das Erstellen gegen das vom System bereitgestellte Python oder ein gebrautes Python. Insbesondere können in / Library installierte Pythons andere Softwareinstallationen stören.

Daher habe ich brew installdie in der Ausgabe der Vorbehalte der Installation angegebenen Schritte ausgeführt, um die Homebrew-Version von Python zu installieren . Das Laufen which pythonbestätigt, dass Homebrews Version tatsächlich ganz oben auf meinem Pfad steht . Ausgabe ist /usr/local/bin/python.

Trotz alledem erhalte brew doctorich beim erneuten Ausführen immer noch die gleiche Warnmeldung . Wie unterdrücke ich diese Warnung? Muss ich das Verzeichnis /Library/Frameworks/Python.framework von meinem Computer löschen? Soll ich es einfach ignorieren? Befindet sich auf meinem Computer eine andere Anwendung, die möglicherweise dazu führt, dass diese Warnung ausgegeben wird?

Beachten Sie, dass ich keine speziellen Anwendungen habe, bei denen aufgrund dieser Warnung von Fehler auftreten brew doctor. Beachten Sie auch, dass diese Warnmeldung beim Ausführen nicht immer ausgedruckt brew doctorwurde. Sie wurde kürzlich angezeigt. Außerdem verwende ich Python 2.7 auf meinem Computer und versuche, mich von Python 3 fernzuhalten.

Ecbrodie
quelle

Antworten:

33

Ich hatte das gleiche Problem. Als ich Python3 über Homebrew aktualisiert habe, bekam ich Folgendes:

-bash: python3: command not found

Ich hatte den gleichen Konflikt mit Python, das irgendwie installiert wurde /Library/Framework/Python.framework. Ich habe gerade eine gemacht brew link overwriteund jetzt funktioniert alles gut. Hier finden Sie einige Informationen dazu, wie Sie mit der Python-Version /Library/Framework/Python.framework umgehen können .

Ich denke, Sie könnten versuchen, diese Version zu löschen, wie der Link andeutet. Stellen Sie einfach sicher, dass die Version nicht verwendet wird. Als ich in das Verzeichnis Python.framework kam, sah ich eine EPD-Version von Python, die ich für Enthought halte. Sie könnten es löschen, aber wenn es Ihnen außer der unschönen Homebrew-Warnmeldung keine Probleme bereitet, sollten Sie es vorerst einfach ignorieren.

Aktualisieren:

Ich habe das Verzeichnis Python.framework gelöscht, und durch ein wenig Stöbern in diesem Verzeichnis habe ich einige alte Versionen von Python gesehen, die ich nicht mit Homebrew installiert habe. Einer war von Enthought und ein anderer war eine Distribution von Python3.3. Ich denke, einige dieser Installationen im Framework-Verzeichnis sind Benutzerinstallationen. Ich habe R auf meinem System installiert, und es gibt auch ein R.framework-Verzeichnis, daher denke ich, dass die meisten davon Benutzerinstallationen sind. Nachdem ich das Verzeichnis gelöscht hatte, musste ich nur Brew Prune aufrufen, um die alten Symlinks zu entfernen. Ich habe beide Brew-Versionen von Python 2.7.6 und 3.3.4 überprüft und sie scheinen mit allen meinen installierten Paketen in gutem Zustand zu sein. Ich überlasse die Entscheidung, dieses Verzeichnis oder diese Python-Version zu entfernen, Ihrem Ermessen.

SherMM
quelle
auf meinem Laptop El Capitan, die Python - Versionen an , /Library/...sind diejenigen tatsächlich genutzt werden und symbolische Links von /usr/local/bin/pythonund /usr/local/bin/python3. Sehen Sie sich also an, wie Sie eingerichtet sind, bevor Sie sie löschen.
Marshall Farrier
Wo kann ich auf dieses Verzeichnis / Library zugreifen?
user70848
36

Ich habe auch diese Nachricht erhalten.

Etwas, irgendwann installiert

/Library/Frameworks/Python.framework

auf meinem Computer (das Ordnerdatum war ungefähr 4 Jahre alt).

Ich habe beschlossen, es zu entfernen.

Bitte beachten Sie, dass das von Apple bereitgestellte Framework verwendet wird

/System/Library/Frameworks/Python.framework/

Mike
quelle
21

Geben Sie für diesen Thread den folgenden Befehl ein:

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

weil es mehrere Installationen von Python auf Ihrem Computer gibt, und dies entfernt die, die in Zukunft zusätzliche Probleme verursachen kann.

Daniel Dropik
quelle
7
Ein etwas weniger drastischer Weg wäre, das Verzeichnis Python.framework in einen anderen Namen wie Python.framework.old zu verschieben. Auf diese Weise können Sie das Verzeichnis zurücksetzen, wenn jemand einen Fehler macht.
Craig S. Anderson
1
Dies ist keine gute Lösung, da Python auf Systemebene von vielen Anwendungen verwendet wird.
jmcmahon443
2
@ jmcmahon443 Dies ist nicht das Python-System, sondern das, das Sie außerhalb von Homebrew installiert haben.
Navin
14

Sie können diese Lösung wie unten angegeben verwenden

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

brew doctor 

brew prune

brew update

Diese Kombination hat es für mich behoben, obwohl ich dachte, dass dieser Fehler normalerweise keine größeren Probleme verursacht. Es hat mich nur geärgert, sie unter dem Brauarzt auftauchen zu sehen

John DeLuca
quelle
2

Das manuelle Entfernen von Verzeichnissen kann ein Albtraum sein, aber zum Glück kann 'Brew' das erledigen. Wenn Sie mit dem Entfernen fertig sind, setzen Sie Folgendes:

brew doctor

Der obige Befehl listet die defekten Systemverknüpfungen auf. Um diese defekten Symlinks zu entfernen, setzen Sie Folgendes:

brew prune

Wenden Sie sich erneut an 'Brew Doctor', um sicherzustellen, dass keine Verbindungen unterbrochen sind. Ihr System ist dann zum Brauen bereit.

Eisenheim
quelle
brew pruneist jetzt veraltet, brew cleanupsollte stattdessen verwendet werden
msoutopico
0

Ich hatte Python 3 von Homebrew und dann ein weiteres Python 3 direkt von der Python-Website installiert.

Ich habe gelöscht /Library/Frameworks/Python.framework. Ich habe keine PATHoder PYTHONPATHVariablen hinzugefügt .bash_profile. Dann habe ich folgendes in der Shell überprüft:

~$ 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()

~$

Außerdem habe ich Folgendes überprüft:

~$ 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

Ich war ein bisschen besorgt , dass whereis python3, whereis pipund whereis pip3kehrte nichts, aber da gibt es kein Problem Python war gestartet, würde ich denke , es ist sicher zu löschen /Library/Frameworks/Python.framework. Fragen Sie mich in einem Monat noch einmal.

Elan
quelle