Wie deinstalliere ich Python 2.7 unter Mac OS X 10.6.4?

339

Ich möchte Python 2.7 vollständig von meinem Mac OS X 10.6.4 entfernen. Ich habe es geschafft, den Eintrag aus der PATHVariablen zu entfernen , indem ich meine zurückgesetzt habe .bash_profile. Ich möchte aber auch alle Verzeichnisse, Dateien, Symlinks und Einträge entfernen, die vom Python 2.7-Installationspaket installiert wurden. Ich habe das Installationspaket von http://www.python.org/ . Welche Verzeichnisse / Dateien / Konfigurationsdateieinträge muss ich entfernen? Gibt es irgendwo eine Liste?

Jan Deinhard
quelle

Antworten:

705

Versuchen Sie nicht, ein von Apple bereitgestelltes Python-System zu entfernen, das sich in /System/Libraryund befindet /usr/bin, da dies Ihr gesamtes Betriebssystem beschädigen kann.


HINWEIS: Die unten aufgeführten Schritte wirken sich nicht auf das von Apple bereitgestellte System Python 2.7 aus. Sie entfernen nur ein Python-Framework eines Drittanbieters, wie es von den Installationsprogrammen von python.org installiert wurde .


Die vollständige Liste ist hier dokumentiert . Grundsätzlich müssen Sie nur Folgendes tun:

  1. Entfernen Sie das Python 2.7-Framework eines Drittanbieters

    sudo rm -rf /Library/Frameworks/Python.framework/Versions/2.7
  2. Entfernen Sie das Python 2.7-Anwendungsverzeichnis

    sudo rm -rf "/Applications/Python 2.7"
  3. Entfernen Sie die symbolischen Links in /usr/local/bin, die auf diese Python-Version verweisen. Sehen Sie sie mit

    ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7' 

    Führen Sie dann den folgenden Befehl aus, um alle Links zu entfernen:

    cd /usr/local/bin/
    ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7' | awk '{print $9}' | tr -d @ | xargs rm
  4. Bearbeiten Sie gegebenenfalls Ihre Shell-Profildatei (en), um das Hinzufügen /Library/Frameworks/Python.framework/Versions/2.7zu Ihrer PATHUmgebungsdatei zu entfernen . Der in Abhängigkeit von Shell Sie verwenden, eine der folgenden Dateien modifiziert worden sein: ~/.bash_login, ~/.bash_profile, ~/.cshrc, ~/.profile, ~/.tcshrc, und / oder ~/.zprofile.

Ned Deily
quelle
157
Vielen Dank für das Heads-up von Ned. Ich habe es entfernt und herausgefunden, wie schwierig es ist, Mac OS X neu zu installieren. Ich überlasse dies hier allen anderen, die mitkommen und das Gleiche denken wie ich. Entfernen Sie Python nicht in / System / Library / Frameworks / ... Keine Ihrer Apps funktioniert und Sie müssen OS X neu installieren.
brthornbury
44
Python 2.7 ist das Standardsystem Python auf neueren Systemen, während es unter 10.6.4 2.6 war und 2.7 vom Benutzer installiert wurde. Deinstallieren Sie 2.7 NICHT von einem aktuellen OS X-System.
Martijn Pieters
30
Mit den obigen Schritten wird das System Python nicht aus einer Version von OS X entfernt. System Pythons sind in installiert /System/Library/Frameworks(die Sie niemals ändern sollten), nicht /Library/Frameworks.
Ned Deily
5
brew doctorkann auch verwendet werden, um die nicht verwendeten Symlinks zu finden.
Shubham Kushwah
5
Mach diese Schritte nicht !!!!! Ihre virtuelle Umgebung wird kaputt sein !!!!! Oh mein Gott!!! Warum habe ich diese Schritte gemacht !!!!!!!!!!
FIREUSD
75

Dieser funktioniert:

cd /usr/local/bin/
ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7' | awk '{print $9}' | tr -d @ | xargs rm

Beschreibung: Es listet alle Links auf, entfernt @Zeichen und entfernt sie dann.

conehead
quelle
1
Ich habe jede hier gegebene Antwort ausprobiert, und diese hat es endlich geschafft.
jtsmith1287
25

Wenn Sie es mit dem PKG-Installationsprogramm installiert haben, haben Sie folgende Möglichkeiten:

pkgutil --pkgs

oder besser:

pkgutil --pkgs | grep org.python.Python

welches etwas ausgibt wie:

org.python.Python.PythonApplications-2.7
org.python.Python.PythonDocumentation-2.7
org.python.Python.PythonFramework-2.7
org.python.Python.PythonProfileChanges-2.7
org.python.Python.PythonUnixTools-2.7

Sie können nun auswählen, welche Pakete Sie trennen (entfernen) möchten.

Dies ist die Unlink-Dokumentation:

 --unlink package-id
             Unlinks (removes) each file referenced by package-id. WARNING: This command makes no attempt to perform reference counting or dependency analy-
             sis. It can easily remove files required by your system. It may include unexpected files due to package tainting. Use the --files command first
             to double check.

In meinem Beispiel werden Sie eingeben

pkgutil --unlink org.python.Python.PythonApplications-2.7
pkgutil --unlink org.python.Python.PythonDocumentation-2.7
pkgutil --unlink org.python.Python.PythonFramework-2.7
pkgutil --unlink org.python.Python.PythonProfileChanges-2.7
pkgutil --unlink org.python.Python.PythonUnixTools-2.7

oder in einer einzigen Zeile:

pkgutil --pkgs | grep org.python.Python | xargs -L1 pkgutil -f --unlink

Wichtig: --unlink ist ab Lion nicht mehr verfügbar (ab Q1`2014 einschließlich Lion, Mountain Lion und Mavericks). Wenn jemand, der zu dieser Anleitung kommt, versucht, sie mit Lion zu verwenden, sollte er stattdessen versuchen, sie an das anzupassen, was in diesem Beitrag gesagt wird: https://wincent.com/wiki/Uninstalling_packages_(.pkg_files)_on_Mac_OS_X

Gabriel Mazetto
quelle
4
Leider werden abhängig von pkgutilnicht alle vom Python-Installationsprogramm installierten Dateien entfernt, da einige von ihnen während der Installation nach dem Flug erstellt und als solche nicht registriert werden.
Ned Deily
21

Versuch, Python mit zu deinstallieren

brew uninstall python

entfernt nicht das nativ installierte Python, sondern die mit installierte Version brew.

Daniel Lee
quelle
9

In Bezug auf das Löschen der symbolischen Links fand ich dies nützlich.

find /usr/local/bin -lname '../../../Library/Frameworks/Python.framework/Versions/2.7/*' -delete
user86559
quelle
Dies ist eine viel bessere Idee, als die Ausgabe von lswie in der akzeptierten Antwort zu
analysieren
8

Erstellen Sie den Symlink zur neuesten Version

 ln -s -f /usr/local/bin/python3.8 /usr/local/bin/python

Schließen und öffnen Sie ein neues Terminal

und versuche

 python --version
Athul Raj
quelle
Vielen Dank und der gleiche Weg gilt für pip "ln -s -f / usr / local / bin / pip3 / usr / local / bin / pip", dann "pip --version", auch wenn Sie pip aktualisieren möchten, verwenden Sie diesen Befehl "pip install --upgrade pip"
Moh Alaraabi
6

Es ist nicht erforderlich, alte Python-Versionen zu deinstallieren.

Installieren Sie einfach eine neue Version, z. B. python-3.3.2-macosx10.6.dmg, und ändern Sie den Softlink von Python in neu installiertes python3.3

Überprüfen Sie den Pfad von Standard-Python und Python3.3 mit den folgenden Befehlen

"welche Python" und "welche Python3.3"

Löschen Sie dann den vorhandenen Softlink von Python und zeigen Sie auf Python3.3

minhas23
quelle
10
Danke, aber das beantwortet meine Frage nicht. Die Frage ist nicht, ob ich eine alte Python-Version deinstallieren muss, um eine neue Version zu installieren.
Jan Deinhard
1
Dies scheint der sicherste Ansatz zu sein, da es für mich normalerweise nicht so gut ist, sich mit dem zu beschäftigen, was das Betriebssystem auf dem Computer installiert. Auch ich habe "das Installationspaket von python.org erhalten ", nachdem Syntaxprobleme durch python3-Anweisungen in einer python2-Shell aufgetreten waren. Mein erster Gedanke war, python2 zu entfernen und stattdessen python3 zu verwenden. Aus früheren Beiträgen, die die Gefahren dieser Aktion bestätigen. Dies war die bessere Lösung für mich und folgt der Idee, "Links zum Umleiten von Verhalten zu verwenden". Außerdem war die python3-Shell bereits installiert und musste an der Eingabeaufforderung nur "python3" anstelle von "python" eingeben.
Mark Longmire
@ minhas23 Wie würde ich den Softlink löschen und einen neuen erstellen?
Doberkofler
5

Onur Güzel bietet die Lösung in seinem Blog-Beitrag "Python-Paket von OS X deinstallieren" .

Sie sollten die folgenden Befehle in das Terminal eingeben:

  1. sudo rm -rf /Library/Frameworks/Python.framework
  2. cd /usr/local/bin
  3. ls -l . | grep '../Library/Frameworks/Python.framework' | awk '{print $9}' | xargs sudo rm
  4. sudo rm -rf "/Applications/Python x.y"

    Dabei ist Befehl xy die installierte Version von Python. Nach Ihrer Frage sollte es 2.7 sein.

In Onurs Worten:

WARNUNG: Mit diesen Befehlen werden alle mit Paketen installierten Python-Versionen entfernt. Vom System bereitgestelltes Python ist nicht betroffen.

Wenn Sie mehr als eine Python-Version von python.org installiert haben, führen Sie den vierten Befehl erneut aus und ändern Sie "xy" für jede Version von Python, die deinstalliert werden soll.

AQ
quelle
Das hat mein Problem gelöst, ich habe 2.7.10 und Brew 2.7.15 installiert und als ich "Python" lief, wurde 2.7.10 immer noch nicht 2.7.15 angezeigt, nachdem Ihre Hilfe jetzt funktioniert, danke
Radek
4

Hinweis : Wenn Sie Python mit Homebrew installiert haben, können Sie die folgenden Schritte ausführen, andernfalls suchen Sie nach einer anderen Lösung!


Um Python 2.7.10 zu deinstallieren, das Sie mit Homebrew installiert haben, können Sie einfach den folgenden Befehl ausführen:

brew uninstall python

Ebenso, wenn Sie Python 3 deinstallieren möchten (das Sie mit Homebrew installiert haben):

brew uninstall --force python3
John Mulhall
quelle
3

Sie müssen es nicht deinstallieren oder mit symbolischen Links verrückt werden. Verwenden Sie einfach eine alias. Beim Upgrade auf Python 3.7.1 trat das gleiche Problem auf.
Installieren Sie einfach die neue Python-Version, indem Sie brew install pythonin Ihrem .bash_profileCreate einen Alias ​​erstellen, der auf die neue Python-Version verweist. so: alias python="/usr/local/bin/python3"dann speichern und ausführen source ~/.bash_profile.
Erledigt.

Roberto Manfreda
quelle
2

Wenn Sie daran denken, Apples Standard-Python 2.7 manuell zu entfernen, würde ich Ihnen empfehlen, Hang-Fire und Do-Noting durchzuführen: Es sieht so aus, als würde Apple dies in Kürze für Sie tun:

Python 2.7 In OSX 10.15 Catalina veraltet

Python 2.7- sowie Ruby & Perl- sind in Catalina veraltet: ( Fahren Sie mit Abschnitt " Scripting Language Runtimes "> " Deprecations " fort.)

https://developer.apple.com/documentation/macos_release_notes/macos_catalina_10_15_release_notes

Apple entfernt Python 2.7 in OSX 10.16

Wenn Sie laut The Mac Observer mit OSX Version 10.16 überhaupt nichts tun , verschwindet Python 2.7 von Ihrem System:

https://www.macobserver.com/analysis/macos-catalina-deprecates-unix-scripting-languages/

Angesichts dieser Enthüllung würde ich vorschlagen, dass die beste Vorgehensweise darin besteht, nichts zu tun und darauf zu warten, dass Apple sie für Sie abwischt. Da Apple kurz davor steht, es für Sie zu entfernen, scheint es nicht das Risiko wert zu sein, an Ihrer Python-Umgebung zu basteln.

ANMERKUNG : Ich sehe, dass sich die Frage speziell auf OSX 10.6.4 bezieht , aber es scheint, dass diese Frage zu einem Dreh- und Angelpunkt für alle OSX- Benutzer geworden ist, die daran interessiert sind, Python 2.7 von ihren Systemen zu entfernen, unabhängig davon, welche Version sie ausführen.

F1Linux
quelle