# Python en Node.js verwijderen op een Mac

> Zoek uit welke Python of Node op je PATH staat, verwijder kopieën van Homebrew, pyenv, conda, nvm of het installatieprogramma op de ondersteunde manier, en ruim daarna PATH-regels en caches op.

Published: 2026-10-06 | Updated: 2026-10-18

Om Python of Node.js op een Mac te verwijderen, zoek je eerst uit welke kopie je verwijdert, want er zijn er meestal meerdere en elk komt er op een andere manier uit. Voer `which -a python3` of `which -a node` uit om elke kopie op je PATH te zien, en verwijder daarna elk via de tool die hem heeft geïnstalleerd: Homebrew met `brew uninstall`, pyenv met `pyenv uninstall`, nvm met `nvm uninstall`, conda met de gedocumenteerde stappen van Anaconda, en de installatieprogramma's van python.org of nodejs.org door de bestanden te verwijderen die hun pakketten hebben geschreven. Laat `/usr/bin/python3` met rust; die hoort bij macOS en de ontwikkeltools van Apple.

Daarna ruim je de regels op die die tools aan je opstartbestanden van de shell hebben toegevoegd, en de caches die ze in je thuismap hebben achtergelaten. Deze gids gaat in die volgorde: herkennen, verwijderen, PATH opschonen, caches wissen, controleren.

## Vind elke Python en Node op je PATH

Deze commando's lezen alleen:

```
which -a python3 python node npm
type -a python3 node
python3 -c 'import sys; print(sys.executable)'
```

`which -a` drukt elke overeenkomst af in PATH-volgorde, en de eerste regel is wat draait wanneer je het commando typt. `type -a` toont ook aliassen en shellfuncties, wat ertoe doet bij versiebeheerders: nvm definieert `nvm` bijvoorbeeld als een shellfunctie, en pyenv en sommige opstellingen zetten shims vóór echte binaries. Volg een symlink met `ls -l` om te zien waar hij echt naartoe wijst.

Lees de paden tegen deze tabel:

| Pad begint met | Wie het heeft geïnstalleerd | Hoe het eruit gaat |
| --- | --- | --- |
| `/usr/bin/python3` | macOS, voor Xcode en de Command Line Tools | Laten staan |
| `/Library/Frameworks/Python.framework` of links in `/usr/local/bin` ernaartoe | installatieprogramma van python.org | De drie onderdelen verwijderen (hieronder) |
| `/opt/homebrew` (Apple silicon) of `/usr/local/Cellar`, `/usr/local/opt` (Intel) | Homebrew | `brew uninstall` |
| `~/.pyenv/shims` of `~/.pyenv/versions` | pyenv | `pyenv uninstall` |
| `~/anaconda3`, `~/miniconda3`, `/opt/anaconda3`, `/opt/miniconda3` | Anaconda of Miniconda | `conda init --reverse`, daarna de map verwijderen |
| `/usr/local/bin/node` die geen Homebrew-link is | installatieprogramma van nodejs.org | De bestanden verwijderen, de bon vergeten |
| `~/.nvm/versions/node` | nvm | `nvm uninstall` |
| `~/Library/Application Support/fnm` of `~/.fnm` | fnm | `fnm uninstall`, daarna de map verwijderen |
| `~/.volta` | Volta | `~/.volta` verwijderen |

Op een Intel-Mac schrijven zowel Homebrew als de installatieprogramma's van nodejs.org en python.org naar `/usr/local`, dus controleer met `ls -l` of een bestand daar een link naar de Cellar van Homebrew is voordat je aanneemt dat je het mag verwijderen.

## Verwijder de Python van macOS niet

De [Python-documentatie voor macOS](https://docs.python.org/3/using/mac.html) is expliciet: recente versies van macOS bevatten een commando `python3` in `/usr/bin/python3` dat linkt naar een versie van Python die wordt geleverd door en voor de ontwikkeltools van Apple, en je mag die nooit wijzigen of proberen te verwijderen, omdat hij door Apple wordt beheerd en wordt gebruikt door software van Apple en van derden. Hij staat toch op het verzegelde systeemvolume. Een tweede Python van python.org of Homebrew kan ernaast bestaan; je wijzigt welke draait via PATH, niet door die van Apple te verwijderen.

## Verwijder Python die vanaf python.org is geïnstalleerd

Het installatieprogramma van python.org zet drie dingen op de Mac, volgens dezelfde documentatie: een map `Python 3.x` in Apps met IDLE en Python Launcher, het framework op `/Library/Frameworks/Python.framework`, en symlinks naar de uitvoerbare bestanden in `/usr/local/bin`. De documentatie zegt dat je om Python te verwijderen deze drie dingen kunt weghalen.

Verwijder één versie tegelijk. Bijvoorbeeld voor 3.12:

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

Het eerste commando toont de geïnstalleerde versies; het tweede toont welke links in `/usr/local/bin` naar de versie wijzen die je verwijdert. Verplaats daarna `/Applications/Python 3.12` naar de prullenmand, verwijder `/Library/Frameworks/Python.framework/Versions/3.12` met beheerdersrechten, en verwijder alleen de links die het tweede commando heeft afgedrukt. Als je de laatste versie verwijdert, kan de hele map `Python.framework` weg.

Het installatieprogramma laat ook een bon achter, die je kunt vinden met `pkgutil --pkgs | grep -i python`. Een bon draait niet, maar `pkgutil --files <id>` toont precies wat dat pakket heeft geschreven, en dat is de betrouwbaarste lijst paden. [Apps uit een .pkg verwijderen](https://mole.fit/nl/blog/how-to-uninstall-pkg-apps-mac) legt uit hoe je bonnen leest en vergeet.

## Verwijder Python die met Homebrew is geïnstalleerd

Homebrew noemt Python-formulae naar versie, zoals `python@3.13`. Controleer eerst wat er is geïnstalleerd en wat ervan afhangt:

```
brew list --formula | grep '^python'
brew uses --installed python@3.13
```

Als `brew uses` andere formulae afdrukt, hebben die die Python nodig, en Homebrew weigert hem te verwijderen zolang ze blijven. Verwijder eerst de afhankelijken of houd die versie. Wanneer er niets van afhangt, verwijdert `brew uninstall python@3.13` hem, en ruimt `brew autoremove` afhankelijkheden op die niets anders nodig heeft. Homebrew zelf verwijderen is een aparte, veel grotere klus; zie [Homebrew verwijderen](https://mole.fit/nl/blog/how-to-uninstall-homebrew-mac).

## Verwijder pyenv-versies of pyenv zelf

De [README van pyenv](https://github.com/pyenv/pyenv) zegt oude versies te verwijderen met `pyenv uninstall <version>`, en dat `pyenv prefix <version>` de map van een versie toont. Plug-ins kunnen extra werk doen bij het verwijderen; pyenv-virtualenv verwijdert bijvoorbeeld ook virtuele omgevingen die aan die versie zijn gekoppeld.

```
pyenv versions
pyenv uninstall 3.11.9
```

Om pyenv helemaal te verwijderen, zegt de README alle pyenv-configuratieregels uit je opstartbestanden van de shell te halen, en daarna de hoofdmap te verwijderen met `rm -rf $(pyenv root)`, wat elke Python verwijdert die eronder is geïnstalleerd. Als je pyenv met Homebrew hebt geïnstalleerd, eindig je met `brew uninstall pyenv`. Voer eerst `pyenv root` uit en lees het pad dat het afdrukt voordat je iets verwijdert.

## Verwijder Anaconda of Miniconda

De [verwijdergids van Anaconda](https://www.anaconda.com/docs/getting-started/anaconda/uninstall) en de bijbehorende [Miniconda-gids](https://www.anaconda.com/docs/getting-started/miniconda/uninstall) gebruiken dezelfde drie stappen op macOS. Als je installatie het `uninstall.sh` van Anaconda bevat, wijst de gids nu eerst naar dat script; de drie handmatige stappen hieronder zijn de terugval wanneer dat er niet is.

1. Haal de initialisatie van conda uit je shellprofielen: voer `conda activate` uit, daarna `conda init --reverse --all`.
2. Verwijder de installatiemap. Anaconda merkt op dat die in je thuismap of in `/opt` kan staan, afhankelijk van hoe je hebt geïnstalleerd; `conda info --base` drukt de echte locatie af. Typische paden zijn `~/anaconda3`, `~/miniconda3`, `/opt/anaconda3` of `/opt/miniconda3`, en die in `/opt` hebben `sudo` nodig.
3. Verwijder optioneel de verborgen configuratie- en gegevensbestanden `~/.condarc`, `~/.conda` en `~/.continuum`. Anaconda stelt voor `.condarc` te houden als je aangepaste instellingen hebt en van plan bent opnieuw te installeren.

De gids waarschuwt dat `rm -rf` verwijdert zonder bevestiging en niet ongedaan kan worden gemaakt, dus controleer het pad voordat je op Return drukt. Omgevingen die je hebt gemaakt, leven in de installatiemap of onder `~/.conda`, dus exporteer eerst wat je nodig hebt met `conda env export -n <name> > env.yml`.

## Verwijder Node.js die vanaf nodejs.org is geïnstalleerd

Het officiële macOS-pakket is twee pakketten in één. De eigen installatiedefinitie van Node registreert ze als `org.nodejs.node.pkg` en `org.nodejs.npm.pkg`, en het afsluitscherm zegt dat het `node` naar `/usr/local/bin/node` en `npm` naar `/usr/local/bin/npm` heeft geïnstalleerd ([bron van het installatieprogramma](https://github.com/nodejs/node/tree/main/tools/macos-installer)). Het npm-pakket linkt ook `npx` naar `/usr/local/bin` vanuit `/usr/local/lib/node_modules/npm`.

Toon wat de pakketten hebben geschreven voordat je iets verwijdert:

```
pkgutil --pkgs | grep -i nodejs
pkgutil --pkg-info org.nodejs.node.pkg
pkgutil --files org.nodejs.node.pkg | head -50
```

`--pkg-info` toont de installatielocatie, en de bestandslijst is relatief daaraan. Verwijder wat de twee lijsten noemen, wat zich centreert op `/usr/local/bin/node`, `npm` en `npx` en de map `/usr/local/lib/node_modules/npm`. Kijk in `/usr/local/lib/node_modules` voordat je de hele map verwijdert: globale pakketten die je met `npm install -g` hebt geïnstalleerd, staan daar ook. Voer daarna `sudo pkgutil --forget org.nodejs.node.pkg` uit en hetzelfde voor `org.nodejs.npm.pkg`, wat alleen de bonnen verwijdert.

## Verwijder Node uit Homebrew, nvm, fnm of Volta

**Homebrew:** `brew uninstall node`, of de versie-formula zoals `node@20`. `brew uses --installed node` toont alles wat ervan afhangt.

**nvm:** `nvm ls` toont geïnstalleerde versies en `nvm uninstall <version>` verwijdert er één, samen met de globale pakketten die ervoor zijn geïnstalleerd. Om nvm zelf te verwijderen, zegt de [README van nvm](https://github.com/nvm-sh/nvm) `nvm unload` uit te voeren, de map te verwijderen (`$NVM_DIR`, standaard `~/.nvm`), en de export van `NVM_DIR` en de regels die `nvm.sh` en `bash_completion` sourcen uit je shellconfiguratie te halen. nvm ondersteunt geen Homebrew-installatie, dus een nvm die van Homebrew kwam, verwijder je met `brew uninstall nvm`.

**fnm:** `fnm list` en `fnm uninstall <version>` beheren versies. De [README van fnm](https://github.com/Schniz/fnm) zegt dat fnm verwijderen betekent de map verwijderen en verwijzingen naar fnm uit je shellconfiguratie halen, zoals de regel `eval "$(fnm env ...)"`. De standaard gegevensmap op macOS is `~/Library/Application Support/fnm`; oudere installaties gebruikten `~/.fnm`. Een via Homebrew geïnstalleerde fnm heeft ook `brew uninstall fnm` nodig.

**Volta:** volgens de [documentatie van Volta](https://docs.volta.sh/advanced/uninstall) verwijder je de map `~/.volta` en de twee regels die Volta noemen in je shellprofiel.

## Ruim PATH-regels op uit je opstartbestanden van de shell

Installatieprogramma's en versiebeheerders voegen regels toe aan deze bestanden, en de regels blijven nadat de software weg is:

```
grep -n -E 'python|Python.framework|pyenv|conda|nvm|fnm|volta|node' ~/.zshrc ~/.zprofile ~/.bash_profile ~/.bashrc ~/.profile 2>/dev/null
```

De uitvoer noemt het bestand en het regelnummer van elke overeenkomst. Bewerk het bestand in een teksteditor en verwijder de regels die bij wat je hebt weggehaald horen: regels `export PATH=...` die naar `Python.framework` wijzen, de regels `pyenv init`, het blok `>>> conda initialize >>>` als `conda init --reverse` niet kon draaien, de regels van nvm en fnm, en de twee regels van Volta. Laat regels die je niet herkent staan tot je weet wat ze doen. Open daarna een nieuw terminalvenster; een open venster houdt het oude PATH, en `hash -r` wist de onthouden commandolocaties van zsh in het huidige venster.

## Caches en gegevens die achterblijven

Een interpreter verwijderen wist de pakketcaches niet:

| Cache | Locatie | Hoe je wist |
| --- | --- | --- |
| pip | `~/Library/Caches/pip` standaard op macOS; `pip cache dir` toont de actieve | `pip cache purge`, uitvoeren voordat je de laatste pip verwijdert, of de map verwijderen |
| npm | `~/.npm`, met pakketten in `~/.npm/_cacache` | `npm cache clean --force`, of de map verwijderen nadat Node weg is |
| conda-pakketten | `pkgs` in de installatiemap, of `~/.conda/pkgs` | Verwijderd met de installatiemap; `~/.conda` is optioneel |

De [documentatie over pip-caching](https://pip.pypa.io/en/stable/topics/caching/) geeft de macOS-standaard en `pip cache purge`. De [documentatie over de npm-cache](https://docs.npmjs.com/cli/v10/commands/npm-cache) merkt op dat de cache wissen meestal onnodig is zolang je npm nog gebruikt, omdat hij zichzelf herstelt; zodra Node weg is, is de map alleen nog gegevens.

Virtuele omgevingen van projecten zijn een apart geval. Een `.venv` die is gemaakt met een Python die je hebt verwijderd, wijst naar een interpreter die niet meer bestaat en stopt met werken. Verwijder hem en maak hem opnieuw met de Python die je hebt gehouden, vanuit de `requirements.txt` of het lockbestand van het project. Hetzelfde geldt voor `node_modules` met native modules die voor een oude Node-versie zijn gebouwd.

## Waar Mole past

[Mole](https://mole.fit/) verwijdert geen interpreters of versiebeheerders; gebruik daarvoor de commando's hierboven. Het tabblad **Opschonen** is daarna nuttig voor de caches. De standaard macOS-map van pip, `~/Library/Caches/pip`, verschijnt als eigen rij onder **Appcaches en logbestanden**, en `~/.cache/pip` (de XDG-locatie die sommige opstellingen gebruiken) als een pip-cacherij onder **Ontwikkeltools**; beide zijn standaard geselecteerd, omdat pip opnieuw downloadt wat het nodig heeft. **Ontwikkeltools** toont ook de mappen `_cacache` en `_npx` van npm als rijen die uitgevinkt blijven omdat de volgende installatie ze opnieuw downloadt, een standaard geselecteerde groep **Ongebruikte npm-cachegegevens** voor cachebestanden waar de eigen index van npm niet meer naar verwijst, npm-logbestanden, en `~/.conda/pkgs` van Conda als een uitgevinkte rij. De uitgevinkte rijen blijven zo tot jij ze kiest, en er wordt niets verwijderd voordat je bevestigt. [Waarom Mole minder npm-cache leegt dan npm cache verify](https://mole.fit/nl/blog/mole-developer-cache-gc) legt de npm-regel uit, en [ontwikkelaarscaches wissen](https://mole.fit/nl/blog/how-to-clear-dev-caches-mac) behandelt andere toolchains.

## Controleer

Open een nieuw terminalvenster en voer uit:

```
which -a python3 node
python3 --version
node --version
```

De kopie die je hebt verwijderd, mag niet meer verschijnen. Als `/usr/bin/python3` de enige Python is die overblijft, is dat de systeemkopie en is dat verwacht. "command not found" voor `node` is het juiste antwoord wanneer je elke Node wilde verwijderen. Als er nog een oude versie draait, staat de PATH-regel nog in een van je shellbestanden of heeft een ander installatieprogramma een tweede kopie ergens anders gezet; ga terug naar de eerste stap.

## Veelgestelde vragen

### Hoe verwijder ik Python op een Mac?

Voer `which -a python3` uit om te zien welke kopie je hebt, en verwijder hem daarna op de manier waarop hij is geïnstalleerd: `brew uninstall python@3.13` (gebruik de versie die je hebt geïnstalleerd) voor Homebrew, `pyenv uninstall` voor pyenv, of verwijder de map in Apps, de frameworkversie en de links in `/usr/local/bin` voor python.org. Verwijder `/usr/bin/python3` niet, die hoort bij macOS.

### Hoe verwijder ik Node.js op een Mac?

Gebruik `brew uninstall node` voor Homebrew, `nvm uninstall <version>` voor nvm, of verwijder voor het installatieprogramma van nodejs.org `/usr/local/bin/node`, `npm`, `npx` en de npm-map onder `/usr/local/lib/node_modules`, en vergeet daarna de bonnen `org.nodejs.node.pkg` en `org.nodejs.npm.pkg`.

### Hoe verwijder ik Anaconda helemaal op een Mac?

Voer `conda activate` en `conda init --reverse --all` uit, verwijder de installatiemap die `conda info --base` meldt, zoals `~/anaconda3` of `/opt/anaconda3`, en verwijder optioneel `~/.condarc`, `~/.conda` en `~/.continuum`.

### Kan ik de Python verwijderen die bij macOS hoort?

Nee. De Python-documentatie zegt dat `/usr/bin/python3` door Apple wordt beheerd, wordt gebruikt door software van Apple en van derden, en nooit mag worden gewijzigd of verwijderd. Installeer een andere Python ernaast en kies via PATH welke draait.

### Waarom draait python3 nog nadat ik Python heb verwijderd?

Of er staat nog een andere kopie op je PATH, vaak `/usr/bin/python3` van macOS, of je terminal heeft nog het oude PATH. Open een nieuw venster, voer `which -a python3` uit, en verwijder achtergebleven PATH-regels uit `~/.zshrc` of `~/.zprofile`.

---

Canonical HTML page: https://mole.fit/nl/blog/how-to-uninstall-python-node-mac
Blog index for agents: https://mole.fit/nl/blog/llms.txt
Site index for agents: https://mole.fit/llms.txt
