Python und Node.js auf dem Mac deinstallieren
Um Python oder Node.js auf dem Mac zu deinstallieren, finden Sie zuerst heraus, welche Kopie Sie entfernen, denn meist gibt es mehrere, und jede wird auf andere Weise entfernt. Führen Sie which -a python3 oder which -a node aus, um jede Kopie in Ihrem PATH zu sehen, und entfernen Sie dann jede über das Werkzeug, mit dem sie installiert wurde: Homebrew mit brew uninstall, pyenv mit pyenv uninstall, nvm mit nvm uninstall, conda mit den dokumentierten Schritten von Anaconda, und die Installer von python.org oder nodejs.org, indem Sie die Dateien entfernen, die ihre Pakete geschrieben haben. Lassen Sie /usr/bin/python3 in Ruhe; es gehört zu macOS und den Entwicklerwerkzeugen von Apple.
Räumen Sie danach die Zeilen auf, die diese Werkzeuge in Ihre Shell-Startdateien eingetragen haben, und die Caches, die sie in Ihrem Benutzerordner hinterlassen haben. Diese Anleitung folgt dieser Reihenfolge: identifizieren, entfernen, PATH bereinigen, Caches leeren, prüfen.
Jedes Python und Node in Ihrem PATH finden
Diese Befehle lesen nur:
which -a python3 python node npm
type -a python3 node
python3 -c 'import sys; print(sys.executable)'
which -a gibt jeden Treffer in der Reihenfolge des PATH aus, und die erste Zeile ist das, was läuft, wenn Sie den Befehl eintippen. type -a zeigt zusätzlich Aliasse und Shell-Funktionen, was bei Versionsmanagern wichtig ist: nvm zum Beispiel definiert nvm als Shell-Funktion, und pyenv sowie manche Setups stellen Shims vor die echten Binärdateien. Folgen Sie einem Symlink mit ls -l, um zu sehen, wohin er wirklich zeigt.
Lesen Sie die Pfade anhand dieser Tabelle:
| Pfad beginnt mit | Wer es installiert hat | Wie es entfernt wird |
|---|---|---|
/usr/bin/python3 |
macOS, für Xcode und die Command Line Tools | Lassen |
/Library/Frameworks/Python.framework oder Links aus /usr/local/bin dorthin |
Installer von python.org | Die drei Bestandteile entfernen (unten) |
/opt/homebrew (Apple Silicon) oder /usr/local/Cellar, /usr/local/opt (Intel) |
Homebrew | brew uninstall |
~/.pyenv/shims oder ~/.pyenv/versions |
pyenv | pyenv uninstall |
~/anaconda3, ~/miniconda3, /opt/anaconda3, /opt/miniconda3 |
Anaconda oder Miniconda | conda init --reverse, dann den Ordner entfernen |
/usr/local/bin/node, das kein Homebrew-Link ist |
Installer von nodejs.org | Dateien entfernen, Beleg vergessen |
~/.nvm/versions/node |
nvm | nvm uninstall |
~/Library/Application Support/fnm oder ~/.fnm |
fnm | fnm uninstall, dann den Ordner entfernen |
~/.volta |
Volta | ~/.volta entfernen |
Auf einem Intel-Mac schreiben sowohl Homebrew als auch die Installer von nodejs.org und python.org in /usr/local, prüfen Sie dort also mit ls -l, ob eine Datei ein Link in Homebrews Cellar ist, bevor Sie annehmen, dass Sie sie löschen dürfen.
Das Python von macOS nicht entfernen
Die Python-Dokumentation für macOS ist eindeutig: Aktuelle macOS-Versionen enthalten einen Befehl python3 in /usr/bin/python3, der auf eine Python-Version verweist, die von und für die Entwicklerwerkzeuge von Apple bereitgestellt wird, und Sie sollten ihn nie ändern oder zu löschen versuchen, weil Apple ihn kontrolliert und Software von Apple und Drittanbietern ihn nutzt. Er liegt ohnehin auf dem versiegelten Systemvolume. Ein zweites Python von python.org oder Homebrew kann daneben existieren; welches läuft, ändern Sie über den PATH, nicht durch Löschen des Python von Apple.
Python von python.org deinstallieren
Laut derselben Dokumentation legt der Installer von python.org drei Dinge auf dem Mac ab: einen Ordner Python 3.x in Programme mit IDLE und Python Launcher, das Framework unter /Library/Frameworks/Python.framework und Symlinks auf die ausführbaren Dateien in /usr/local/bin. Zum Deinstallieren können Sie laut Dokumentation diese drei Dinge entfernen.
Entfernen Sie eine Version nach der anderen. Zum Beispiel für 3.12:
ls /Library/Frameworks/Python.framework/Versions
ls -l /usr/local/bin | grep 'Python.framework/Versions/3.12'
Der erste Befehl listet die installierten Versionen; der zweite zeigt, welche Links in /usr/local/bin in die Version zeigen, die Sie entfernen. Legen Sie dann /Applications/Python 3.12 in den Papierkorb, löschen Sie /Library/Frameworks/Python.framework/Versions/3.12 mit Administratorrechten und löschen Sie nur die Links, die der zweite Befehl ausgegeben hat. Entfernen Sie die letzte Version, kann der ganze Ordner Python.framework weg.
Der Installer hinterlässt außerdem einen Beleg, den Sie mit pkgutil --pkgs | grep -i python finden. Ein Beleg wird nicht ausgeführt, aber pkgutil --files <id> zeigt genau, was dieses Paket geschrieben hat, und ist damit die verlässlichste Liste der Pfade. .pkg-Apps deinstallieren erklärt, wie Sie Belege lesen und vergessen.
Python von Homebrew deinstallieren
Homebrew benennt Python-Formeln nach Version, etwa python@3.13. Prüfen Sie zuerst, was installiert ist und was davon abhängt:
brew list --formula | grep '^python'
brew uses --installed python@3.13
Gibt brew uses andere Formeln aus, brauchen sie dieses Python, und Homebrew weigert sich, es zu deinstallieren, solange sie vorhanden sind. Entfernen Sie zuerst die abhängigen Formeln oder behalten Sie diese Version. Hängt nichts davon ab, entfernt brew uninstall python@3.13 sie, und brew autoremove räumt Abhängigkeiten weg, die sonst nichts mehr braucht. Homebrew selbst zu entfernen ist eine eigene, viel größere Aufgabe; siehe Homebrew deinstallieren.
pyenv-Versionen oder pyenv selbst deinstallieren
Laut pyenv-README entfernen Sie alte Versionen mit pyenv uninstall <version>, und pyenv prefix <version> zeigt das Verzeichnis einer Version. Plug-ins können beim Deinstallieren zusätzliche Arbeit erledigen; pyenv-virtualenv zum Beispiel entfernt auch virtuelle Umgebungen, die mit dieser Version verknüpft sind.
pyenv versions
pyenv uninstall 3.11.9
Um pyenv vollständig zu entfernen, sollen Sie laut README alle pyenv-Konfigurationszeilen aus Ihren Shell-Startdateien entfernen und dann das Stammverzeichnis mit rm -rf $(pyenv root) löschen, was jedes darunter installierte Python löscht. Haben Sie pyenv mit Homebrew installiert, schließen Sie mit brew uninstall pyenv ab. Führen Sie zuerst pyenv root aus und lesen Sie den ausgegebenen Pfad, bevor Sie etwas löschen.
Anaconda oder Miniconda deinstallieren
Die Deinstallationsanleitung von Anaconda und die passende Anleitung für Miniconda nutzen unter macOS dieselben drei Schritte:
- Entfernen Sie die Initialisierung von conda aus Ihren Shell-Profilen: Führen Sie
conda activateund dannconda init --reverse --allaus. - Löschen Sie den Installationsordner. Anaconda weist darauf hin, dass er je nach Installationsart in Ihrem Benutzerordner oder in
/optliegen kann;conda info --basegibt den tatsächlichen Ort aus. Typische Pfade sind~/anaconda3,~/miniconda3,/opt/anaconda3oder/opt/miniconda3, und die unter/optbrauchensudo. - Entfernen Sie optional die versteckten Konfigurations- und Datendateien
~/.condarc,~/.condaund~/.continuum. Anaconda empfiehlt,.condarczu behalten, wenn Sie eigene Einstellungen haben und neu installieren wollen.
Die Anleitung warnt, dass rm -rf ohne Rückfrage löscht und sich nicht rückgängig machen lässt, prüfen Sie den Pfad also, bevor Sie den Zeilenschalter drücken. Selbst erstellte Umgebungen liegen im Installationsordner oder unter ~/.conda, exportieren Sie benötigte also vorher mit conda env export -n <name> > env.yml.
Node.js von nodejs.org deinstallieren
Das offizielle macOS-Paket besteht aus zwei Paketen in einem. Die Installer-Definition von Node registriert sie als org.nodejs.node.pkg und org.nodejs.npm.pkg, und der Abschlussbildschirm meldet, dass node nach /usr/local/bin/node und npm nach /usr/local/bin/npm installiert wurde (Installer-Quellcode). Das npm-Paket verlinkt außerdem npx aus /usr/local/lib/node_modules/npm nach /usr/local/bin.
Listen Sie auf, was die Pakete geschrieben haben, bevor Sie etwas entfernen:
pkgutil --pkgs | grep -i nodejs
pkgutil --pkg-info org.nodejs.node.pkg
pkgutil --files org.nodejs.node.pkg | head -50
--pkg-info zeigt den Installationsort, und die Dateiliste ist relativ dazu. Entfernen Sie, was die beiden Listen nennen; im Kern sind das /usr/local/bin/node, npm und npx sowie der Ordner /usr/local/lib/node_modules/npm. Sehen Sie in /usr/local/lib/node_modules nach, bevor Sie den ganzen Ordner löschen: Dort liegen auch globale Pakete, die Sie mit npm install -g installiert haben. Führen Sie dann sudo pkgutil --forget org.nodejs.node.pkg und dasselbe für org.nodejs.npm.pkg aus, was nur die Belege entfernt.
Node von Homebrew, nvm, fnm oder Volta deinstallieren
Homebrew: brew uninstall node oder die versionierte Formel wie node@20. brew uses --installed node zeigt alles, was davon abhängt.
nvm: nvm ls listet installierte Versionen, und nvm uninstall <version> entfernt eine davon samt der dafür installierten globalen Pakete. Um nvm selbst zu entfernen, sollen Sie laut nvm-README nvm unload ausführen, sein Verzeichnis löschen ($NVM_DIR, standardmäßig ~/.nvm) und den Export von NVM_DIR sowie die Zeilen, die nvm.sh und bash_completion laden, aus Ihrer Shell-Konfiguration entfernen. nvm unterstützt keine Installation über Homebrew, ein nvm aus Homebrew entfernen Sie also mit brew uninstall nvm.
fnm: fnm list und fnm uninstall <version> verwalten Versionen. Laut fnm-README heißt fnm entfernen, seinen Ordner zu löschen und Verweise auf fnm aus Ihrer Shell-Konfiguration zu entfernen, etwa die Zeile eval "$(fnm env ...)". Sein Standard-Datenordner unter macOS ist ~/Library/Application Support/fnm; ältere Installationen nutzten ~/.fnm. Ein mit Homebrew installiertes fnm braucht zusätzlich brew uninstall fnm.
Volta: Laut Volta-Dokumentation entfernen Sie das Verzeichnis ~/.volta und die beiden Zeilen in Ihrem Shell-Profil, die Volta erwähnen.
PATH-Zeilen aus Ihren Shell-Startdateien entfernen
Installer und Versionsmanager tragen Zeilen in diese Dateien ein, und die Zeilen bleiben, wenn die Software weg ist:
grep -n -E 'python|Python.framework|pyenv|conda|nvm|fnm|volta|node' ~/.zshrc ~/.zprofile ~/.bash_profile ~/.bashrc ~/.profile 2>/dev/null
Die Ausgabe nennt für jeden Treffer Datei und Zeilennummer. Bearbeiten Sie die Datei in einem Texteditor und löschen Sie die Zeilen, die zu dem gehören, was Sie entfernt haben: Zeilen export PATH=..., die in Python.framework zeigen, die Zeilen mit pyenv init, den Block >>> conda initialize >>>, falls conda init --reverse nicht laufen konnte, die Zeilen für nvm und fnm sowie die beiden Zeilen von Volta. Lassen Sie Zeilen, die Sie nicht kennen, stehen, bis Sie wissen, was sie tun. Öffnen Sie danach ein neues Terminalfenster; ein offenes behält seinen alten PATH, und hash -r löscht im aktuellen Fenster die von zsh gemerkten Befehlspfade.
Zurückgebliebene Caches und Daten
Das Deinstallieren eines Interpreters leert nicht seine Paket-Caches:
| Cache | Ort | Wie leeren |
|---|---|---|
| pip | Unter macOS standardmäßig ~/Library/Caches/pip; pip cache dir zeigt den aktiven |
pip cache purge, ausgeführt vor dem Entfernen des letzten pip, oder den Ordner löschen |
| npm | ~/.npm, mit Paketen in ~/.npm/_cacache |
npm cache clean --force, oder den Ordner löschen, wenn Node weg ist |
| conda-Pakete | pkgs im Installationsordner oder ~/.conda/pkgs |
Mit dem Installationsordner entfernt; ~/.conda ist optional |
Die pip-Dokumentation zum Caching nennt den Standard unter macOS und pip cache purge. Die npm-Dokumentation zum Cache weist darauf hin, dass das Leeren meist unnötig ist, solange Sie npm noch nutzen, weil der Cache sich selbst repariert; ist Node weg, ist der Ordner nur noch Daten.
Virtuelle Umgebungen von Projekten sind ein eigener Fall. Ein .venv, das mit einem inzwischen entfernten Python erstellt wurde, zeigt auf einen Interpreter, den es nicht mehr gibt, und funktioniert nicht mehr. Löschen Sie es und erstellen Sie es mit dem behaltenen Python neu, aus der requirements.txt oder Lockdatei des Projekts. Dasselbe gilt für node_modules mit nativen Modulen, die für eine alte Node-Version gebaut wurden.
Wo Mole ins Spiel kommt
Mole deinstalliert keine Interpreter oder Versionsmanager; dafür nutzen Sie die Befehle oben. Sein Tab Bereinigen hilft danach bei den Caches. Der macOS-Standardordner von pip, ~/Library/Caches/pip, erscheint als eigene Zeile unter App-Caches und Protokolle, und ~/.cache/pip (der XDG-Ort, den manche Setups nutzen) als pip-Cache-Zeile unter Entwicklerwerkzeuge; beide sind standardmäßig ausgewählt, weil pip neu herunterlädt, was es braucht. Entwicklerwerkzeuge listet außerdem npms Ordner _cacache und _npx als nicht angekreuzte Zeilen, weil die nächste Installation sie erneut herunterlädt, eine standardmäßig ausgewählte Gruppe Nicht mehr genutzte npm-Cache-Daten für Cache-Dateien, auf die npms eigener Index nicht mehr verweist, npm-Protokolle und Condas ~/.conda/pkgs als nicht angekreuzte Zeile. Nicht angekreuzte Zeilen bleiben es, bis Sie sie wählen, und nichts wird entfernt, bevor Sie bestätigen. Warum Mole weniger npm-Cache löscht als npm cache verify erklärt die npm-Regel, und Entwickler-Caches leeren behandelt andere Toolchains.
Prüfen
Öffnen Sie ein neues Terminalfenster und führen Sie aus:
which -a python3 node
python3 --version
node --version
Die entfernte Kopie sollte nicht mehr erscheinen. Ist /usr/bin/python3 das einzige verbliebene Python, ist das die Systemkopie und zu erwarten. „command not found“ bei node ist die richtige Antwort, wenn Sie jedes Node entfernen wollten. Läuft noch eine alte Version, steht ihre PATH-Zeile noch in einer Ihrer Shell-Dateien, oder ein anderer Installer hat eine zweite Kopie woanders abgelegt; gehen Sie zurück zum ersten Schritt.
Häufige Fragen
Wie deinstalliere ich Python auf dem Mac?
Führen Sie which -a python3 aus, um zu sehen, welche Kopie Sie haben, und entfernen Sie sie auf dem Weg, auf dem sie installiert wurde: brew uninstall python@3.x bei Homebrew, pyenv uninstall bei pyenv, oder bei python.org den Ordner in Programme, die Framework-Version und die Links in /usr/local/bin entfernen. Löschen Sie nicht /usr/bin/python3, das zu macOS gehört.
Wie deinstalliere ich Node.js auf dem Mac?
Nutzen Sie brew uninstall node bei Homebrew, nvm uninstall <version> bei nvm, oder entfernen Sie beim Installer von nodejs.org /usr/local/bin/node, npm, npx und den npm-Ordner unter /usr/local/lib/node_modules und vergessen Sie dann die Belege org.nodejs.node.pkg und org.nodejs.npm.pkg.
Wie deinstalliere ich Anaconda vollständig auf dem Mac?
Führen Sie conda activate und conda init --reverse --all aus, löschen Sie den Installationsordner, den conda info --base meldet, etwa ~/anaconda3 oder /opt/anaconda3, und entfernen Sie optional ~/.condarc, ~/.conda und ~/.continuum.
Kann ich das Python löschen, das mit macOS kommt?
Nein. Laut Python-Dokumentation wird /usr/bin/python3 von Apple kontrolliert, von Software von Apple und Drittanbietern genutzt und sollte nie geändert oder gelöscht werden. Installieren Sie ein weiteres Python daneben und legen Sie über den PATH fest, welches läuft.
Warum läuft python3 noch, obwohl ich Python deinstalliert habe?
Entweder ist noch eine andere Kopie in Ihrem PATH, oft /usr/bin/python3 von macOS, oder Ihr Terminal hat noch den alten PATH. Öffnen Sie ein neues Fenster, führen Sie which -a python3 aus und entfernen Sie übrig gebliebene PATH-Zeilen aus ~/.zshrc oder ~/.zprofile.