Ich bin neu auf dem Mac und habe anscheinend einen Fehler gemacht. Ich habe Python über Tutorials gelernt und zwischen Homebrew, Pip und XCode sind meine Versionen irgendwie alle gemischt. Pip3 zeigt auf Python2, daher schlagen alle meine Python3-Versuche fehl usw.
Ich bin Nachforschungen anstellen, wie alle Versionen sicher entfernt und dann für eine Neuinstallation (Homebrew?) gedreht werden können, aber ich bin etwas nervös.
Ich habe einige hervorragende Links gefunden:
Offensichtlich berührt man nichts im Stammverzeichnis /system
, und im Grunde wird alles andere gelöscht Was mich nervös macht, ist, dass diese Links ziemlich alt sind. (Sechs Jahre! +) Ich bin mir nicht sicher, ob ich ihnen wirklich vertraue oder nicht.
War in letzter Zeit jemand hier? Kann ich den oben verlinkten Beiträgen vertrauen? Wie bereinige ich dieses Durcheinander in der Python-Version? Hinweis: Ich verwende MacOS Sierra (10.12.5)
Antwort
Also habe ich alle Python-Installationen entfernt. und Neuinstallation über Homebrew.
-
which python
—>/Library/Frameworks/Python.framework/Versions/2.7/bin/python
Löschen Sie das gesamte Python.framework Verzeichnis von/Library/Frameworks
. -
which python3
—>/usr/local/bin/python3
Löschen Sie das gesamte python3-Verzeichnis. -
Ich war etwas nervös wegen der Symlinks. Ich habe zunächst diejenigen umbenannt, die mir offensichtlich Probleme bereiten würden. Es stellte sich heraus, dass dies unnötig war. Verwenden Sie stattdessen einfach :
$ brew doctor Warning: Broken symlinks were found. Remove them with "brew prune": /usr/local/bin/python-32 /usr/local/bin/python2-32 /usr/local/bin/python2.7-32 /usr/local/bin/python2_DNU /usr/local/bin/python_DNU /usr/local/bin/pythonw-32 /usr/local/bin/pythonw2-32 /usr/local/bin/pythonw2.7-32
Also
brew prune
(oderbrew cleanup --prune
in neueren Versionen Versionen von Homebrew) funktionierten einwandfrei. Alle oben genannten Symlinks wurden entfernt. -
Installieren Sie Python und Python3 über Homebrew neu. Alles erledigt.
Zu keinem Zeitpunkt habe ich die Python-Installation im Ordner /System
berührt.
Oh, und um klar zu sein. Die Antwort auf die ursprüngliche Frage lautet
Ja, Sie können den alten Referenzen wie geschrieben vertrauen! Diese Anleitung ist weiterhin gültig.
Kommentare
- @nohillside thx aber .. Sie könnten haben Die jüngsten Eingaben von XXXX hier, die Ihre Bearbeitung veranlasst haben, wurden hier leicht als Kommentar bestätigt. Scheint ein merkwürdiger Zuschreibungsfehler für Sie zu sein. Dürfen ‚ keine Kommentare posten? Und jetzt kann ich ‚ den Übermittlungsnamen nicht sehen, um es selbst zu tun.
- Der beste Weg, um eine Zuordnung zu erhalten, besteht darin, einen Beitrag tatsächlich zu bearbeiten, falls eine Bearbeitung erforderlich ist Dies können alle Benutzer (auch anonyme). Wenn Benutzer Verbesserungskommentare als Antworten veröffentlichen, bearbeite ich sie normalerweise nur im entsprechenden Beitrag.
- Homebrew-Versionen von Python bieten keine Unterstützung für Xcode oder Werkzeuge wie Meißel, die ich zuletzt überprüft habe. Daher wird dies normalerweise nicht empfohlen.
- Nur um zu erwähnen, dass
/System/Library/Frameworks/Python.framework/
niemals entfernt werden darf, verknüpfen Sie docs. python.org/3/using/mac.html - In der neuen Version wurde die Bereinigung gebraut.
Antwort
Meine Python-Version war 3.6, ich wollte auf 3.7 aktualisieren (falls Sie ähnliche Anforderungen haben). Ich verwende macOS Version 10.12.6 und die einfache Deinstallation und Neuinstallation hat bei mir funktioniert:
brew uninstall --ignore-dependencies python3
Dann:
brew install python3
und fertig:
python3 Python 3.7.2 (default, Jan 13 2019, 12:51:54) [Clang 9.0.0 (clang-900.0.39.2)] on darwin Type "help", "copyright", "credits" or "license" for more information.
Kommentare
- Dies hat gut funktioniert für mich. Ich musste den Pfad
ipython
anpassen, indem ich das Startskript manuell bearbeitete, um auf die Brew-Version von Python
zu verweisen
Systemdateien sind durch System Integrity Protection geschützt. Sie können diese Anweisungen nicht befolgen, um rm -rf
zufällige Ordner in / System zu erstellen, ohne zuvor SIP zu deaktivieren.
Da die Dateien jedoch geschützt sind, wissen Sie Die Dateien wurden nicht geändert. Ihr Versions-Chaos wäre auf Ihr Shell-Setup zurückzuführen und würde ohnehin nicht durch Ändern von Systemdateien geändert. Sie sollten diese Dateien, die in macOS garantiert vorhanden sind, nicht berühren.
Homebrew wird separat installiert in / usr / local / Keller. Verwenden Sie Homebrew, um Ihre Python-Installation zu verwalten und die Systeminstallation vollständig zu ignorieren.
Kommentare
- War das JA, okay, um diesen beiden Referenzen zu vertrauen, oder NEIN , ‚ vertraue ihnen nicht? Diese Referenzen scheinen von hoher Qualität zu sein, gut begründet und ziemlich ausführlich erklärt.
- @zipzit Sie können ihnen vertrauen, aber sie haben ‚ funktioniert nicht – das ‚ sind zwei getrennte Dinge.Der Inhalt ist vertrauenswürdig; Versuchen Sie es auf einer neueren Version von macOS und es wird ‚ keinen Schaden anrichten, aber es wird aus den Gründen auch ‚ nicht funktionieren in dieser Antwort gegeben. Ich empfehle dringend, SIP nicht zu deaktivieren, nur um die Python-Installation Ihres Systems zu entfernen (weshalb ich ‚ nicht mit Anweisungen verknüpft habe), da dies ‚ ist s ist nicht die eigentliche Ursache Ihres Problems und ‚ hilft nicht, irgendetwas zu lösen, was möglicherweise zu weiteren Problemen führt.
- Ihre Antwort lautet nicht ‚ macht für mich keinen Sinn. Keine der oben verlinkten Qualitätsantworten berührt irgendetwas in
/system
. Keine = Nicht Eins, Null, Zip, Nada. 1) Python 3.3-Ordner in Ihrem Anwendungsordner müssen gelöscht werden. 2) /Library/Frameworks/Python.framework 3) ~ 20 Symlinks in / usr / local / bin. 4) Referenzen im Shell-Pfad (falls vorhanden). Ich würde nicht ‚ glauben, dass einer von diesen den Schutz trifft, über den Sie sprechen. Was fehlt mir? - @zipzit Vor einiger Zeit wurde Python von / Library nach / System / Library verschoben, sodass Sie / System berühren, um die Systeminstallation zu entfernen. Das System-Python-Framework befindet sich in /System/Library/Frameworks/Python.framework, nicht in / Library.
-
$which python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
$ which python3
/usr/local/bin/python3
plus Python 2.3, 2.4, 2.5, 2.7 und Strom beiSystem/Library/Frameworks/Python.framework/Versions/...