# Eliminare gli ambienti conda su Mac e liberare spazio

> Elenca gli ambienti conda e le loro dimensioni, rimuovine uno per nome o percorso e scopri perché il disco cambia appena finché conda clean non elimina la cache dei pacchetti.

Published: 2026-11-04 | Updated: 2026-11-05

Qualche mese di lavoro sui dati lascia su un Mac degli ambienti conda che nessuno ricorda di aver creato: uno per corso, uno per articolo, uno per uno strumento provato una volta. Ognuno contiene il suo Python e i suoi pacchetti, e insieme alla cache dei pacchetti di conda possono occupare decine di gigabyte. Rimuoverli richiede due comandi, ma lo spazio spesso non torna dopo il primo, e il motivo sta nel modo in cui conda condivide i file tra gli ambienti.

Questa guida spiega come elencare ciò che hai, rimuovere un ambiente per nome o per percorso, perché il dato del disco si muove appena e come `conda clean` restituisce il resto. Vale per Anaconda, Miniconda, Miniforge e Mambaforge. Per rimuovere conda stesso, [disinstallare Python e Node su Mac](https://mole.fit/it/blog/how-to-uninstall-python-node-mac) lo spiega.

## Elencare gli ambienti

```
conda env list
```

Lo stesso elenco arriva da `conda info --envs`. L’ambiente attivo ha un asterisco e ogni riga mostra la sua cartella, di solito `~/miniconda3/envs/<name>` o `~/anaconda3/envs/<name>`. La riga senza nome è `base`, l’ambiente in cui vive conda stesso; lasciala stare.

Per vedere quanto usa ciascuno:

```
conda info --size
```

Mostra l’uso del disco di conda per ogni ambiente. Se la tua versione di conda non ce l’ha, misura direttamente le cartelle:

```
du -sh ~/miniconda3/envs/* ~/miniconda3/pkgs
```

Sostituisci `miniconda3` con `anaconda3`, `miniforge3` o `mambaforge` in base alla tua installazione.

## Salvarlo prima di rimuoverlo

Un ambiente che potresti riusare costa un piccolo file da conservare. Attivalo ed esporta:

```
conda activate myenv
conda env export --from-history > myenv.yml
```

`--from-history` scrive solo i pacchetti che hai richiesto, così il file permette di ricostruire l’ambiente su un altro Mac o con un conda più recente. Per una ricostruzione identica al byte sulla stessa piattaforma, usa invece `conda list --explicit > myenv-spec.txt`. Entrambi i file riportano l’ambiente in seguito con `conda create --file myenv.yml` (o `conda env create --file myenv.yml` nelle versioni più vecchie).

## Rimuovere un ambiente

La documentazione di conda dice che l’ambiente non deve essere attivo quando lo rimuovi, quindi esci prima:

```
conda deactivate
conda remove --name myenv --all
```

`conda env remove --name myenv` fa lo stesso. Aggiungi `--dry-run` per vedere cosa verrebbe rimosso senza rimuovere nulla.

Un ambiente creato con `--prefix` fuori da `envs`, per esempio dentro la cartella di un progetto, non ha un nome che conda possa cercare. Rimuovilo per percorso:

```
conda remove --prefix ~/projects/thesis/.env --all
```

Spostare la cartella di un ambiente nel Cestino dal Finder libera gli stessi file, ma il comando è la via più pulita: aggiorna anche il registro degli ambienti di conda, che leggono `conda env list` e `conda clean`.

## Perché lo spazio non è tornato

Conda scarica ogni pacchetto una sola volta nella sua cache dei pacchetti, `pkgs` nella cartella di installazione, e poi crea hard link di quei file in ogni ambiente che li usa. La documentazione di conda lo dice così: gli ambienti occupano poco spazio grazie agli hard link. Un hard link è un secondo nome per gli stessi dati sul disco, quindi i dati restano finché non sparisce l’ultimo nome.

Rimuovere un ambiente elimina i suoi nomi. La copia in `pkgs` c’è ancora, ed è per questo che `du` sulla cartella di installazione appare quasi uguale a prima. La cache conserva anche gli archivi `.conda` e `.tar.bz2` scaricati e i file indice dei canali, di cui nessun ambiente ha bisogno una volta installato il pacchetto.

## Recuperare il resto con conda clean

Prima l’anteprima:

```
conda clean --all --dry-run
```

Poi esegui:

```
conda clean --all
```

| Opzione | Cosa rimuove |
| --- | --- |
| `-i`, `--index-cache` | I file indice dei canali scaricati; conda li scarica di nuovo |
| `-t`, `--tarballs` | Gli archivi dei pacchetti già estratti nella cache |
| `-p`, `--packages` | I pacchetti estratti a cui nessun ambiente è collegato |
| `-c`, `--tempfiles` | I file temporanei rimasti |
| `-l`, `--logfiles` | I file di log |
| `-a`, `--all` | Tutto quanto sopra |

Un avvertimento della documentazione di conda va letto prima di `-p`: controlla solo gli ambienti elencati da `conda info --envs`. Un ambiente che non conosce, per esempio creato da un’altra installazione di conda o registrato con un altro utente, può perdere pacchetti a cui è ancora collegato. Se tieni ambienti fuori dai posti abituali, esegui prima `conda env list` e verifica che compaiano.

Lascia stare `--force-pkgs-dirs`. Elimina ogni cache dei pacchetti scrivibile, non fa volutamente parte di `--all` e rompe gli ambienti che si appoggiano a quei file.

## Mamba e altre installazioni

Mamba accetta gli stessi comandi: `mamba env list`, `mamba remove --name myenv --all`, `mamba clean --all`. Se hai più di un installer, per esempio Anaconda di anni fa e ora Miniforge, ognuno ha le proprie `envs` e `pkgs`; esegui la pulizia con il `conda` di ciascuno, oppure controlla entrambe le cartelle nel Finder prima di pensare che lo spazio sia finito altrove. `CONDA_PKGS_DIRS` e `CONDA_ENVS_PATH` spostano quelle cartelle se sono impostate nella tua shell.

## Il ruolo di Mole

**Pulizia** in [Mole](https://mole.fit/it/) cerca installazioni conda nella tua cartella Home (`~/miniconda3`, `~/anaconda3`, `~/miniforge3`, `~/mambaforge` e le due sotto `~/opt`) e conta solo quelle che hanno vere cartelle `conda-meta` e `pkgs`. Sotto **Strumenti per sviluppatori** elenca un gruppo **Conda Cache** con due tipi di righe: gli archivi dei pacchetti in `pkgs` la cui copia estratta è già al suo posto e che non vengono toccati da un giorno, e la cartella indice `pkgs/cache`, la stessa cosa che rimuove `conda clean --index-cache`. Ogni riga è contrassegnata come **Verifica** e parte deselezionata. Mole non tocca mai i pacchetti estratti né gli ambienti, non esegue mai `conda` e sposta nel Cestino ciò che selezioni. Rimuovere gli ambienti resta un lavoro per `conda remove`. Per le altre cache di sviluppo, [svuotare le cache di sviluppo su Mac](https://mole.fit/it/blog/how-to-clear-dev-caches-mac) passa in rassegna Xcode, npm e il resto.

## Domande frequenti

### È sicuro eliminare a mano la cartella pkgs?

Non l’intera cartella. Gli ambienti sono collegati con hard link ai file al suo interno e conda si aspetta lì i suoi registri. Usa `conda clean --all`, che rimuove solo ciò di cui nessun ambiente ha bisogno.

### Rimuovere un ambiente elimina i miei notebook e i miei dati?

Spariscono solo i file dentro la cartella dell’ambiente. Notebook, script e dati nelle cartelle dei tuoi progetti restano, a meno che tu non abbia creato l’ambiente con `--prefix` dentro il progetto e tenuto dati in quella stessa cartella.

### Posso rimuovere l’ambiente base?

No. Base contiene conda stesso. Per eliminare tutto, disinstalla conda, cosa che [la guida alla disinstallazione di Python e Node](https://mole.fit/it/blog/how-to-uninstall-python-node-mac) spiega.

### conda clean --all rallenterà la mia prossima installazione?

Leggermente. Conda scarica di nuovo l’indice e recupera i pacchetti che non ha più nella cache. I tuoi ambienti continuano a funzionare.

---

Canonical HTML page: https://mole.fit/it/blog/delete-conda-environments-mac
Blog index for agents: https://mole.fit/it/blog/llms.txt
Site index for agents: https://mole.fit/llms.txt
