HOWTO · Python

Disinstalla Python su macOS

Scopri come disinstallare Python su macOS per ogni modalità di installazione: rimuovi una versione Homebrew o pyenv, rimuovi completamente un'installazione python.org e ripulisci i file che lascia dietro di sé.

In questa pagina

Il modo in cui disinstalli Python su macOS dipende da come è stato installato, quindi il primo passo è sempre capire quale installazione hai. Questo articolo copre i tre casi comuni — Homebrew, l’installer di python.org e pyenv — spiega perché il Python fornito con macOS stesso deve essere lasciato in pace, e si conclude con i file residui che vale la pena ripulire.

Esegui which -a python3 nel terminale prima di iniziare. I percorsi che stampa ti dicono quali sezioni ti riguardano: i percorsi /opt/homebrew o /usr/local/Cellar appartengono a Homebrew, /Library/Frameworks/Python.framework appartiene all’installer di python.org e i percorsi sotto ~/.pyenv appartengono a pyenv.

Capire Python su macOS

Un Mac può contenere più installazioni di Python contemporaneamente, e non interferiscono tra loro. Apple fornisce un comando python3 con macOS per i propri strumenti di sviluppo, e tutto ciò che hai installato tu — tramite Homebrew, l’installer di python.org o pyenv — risiede separatamente accanto a esso.

Per questo, “disinstallare Python” significa quasi sempre rimuovere una copia installata da te, non Python nel suo insieme. Rimuovere una copia da cui dipendono altri strumenti può romperli, quindi identifica l’installazione che vuoi davvero rimuovere, usando i percorsi di which -a python3, prima di eliminare qualsiasi cosa.

Disinstallare Python installato con Homebrew

Se hai installato Python con Homebrew, lascia che sia Homebrew a rimuoverlo, in modo che i file e i collegamenti della formula vengano ripuliti in modo coerente. Per prima cosa, elenca le formule Python installate da Homebrew:

brew list | grep python

Disinstalla la versione che non ti serve più, nominando la formula con versione:

brew uninstall python@3.12

Sostituisci 3.12 con la versione del tuo elenco. Homebrew si rifiuta di disinstallare una formula da cui dipendono altre formule installate; se succede, disinstalla prima quei dipendenti oppure, quando sei sicuro che nulla ne abbia bisogno, ripeti il comando con --ignore-dependencies.

In seguito, verifica la rimozione: la formula non appare più in brew list | grep python e which -a python3 non stampa più un percorso Homebrew. Se python3 --version risponde ancora, si tratta di una delle tue installazioni rimanenti — più spesso quella di macOS descritta di seguito.

Disinstallare Python installato da python.org

L’installer di python.org non ha un proprio programma di disinstallazione. Come descrive la documentazione di Python, l’installer colloca tre cose sul Mac — una cartella Python 3.x in /Applications, il framework in /Library/Frameworks/Python.framework e collegamenti simbolici agli eseguibili in /usr/local/bin — e per disinstallarlo, rimuovi queste tre cose.

Rimuovi una versione alla volta. Per prima cosa, elenca le versioni presenti nel framework:

ls /Library/Frameworks/Python.framework/Versions/

Elimina la versione che stai rimuovendo (qui 3.12) e la sua cartella Applications:

sudo rm -rf /Library/Frameworks/Python.framework/Versions/3.12
sudo rm -rf "/Applications/Python 3.12"

Poi rimuovi solo i collegamenti simbolici che puntano alla versione che hai eliminato. Elencali prima:

ls -l /usr/local/bin | grep "Python.framework/Versions/3.12"

Elimina ogni collegamento stampato dal comando — per esempio sudo rm /usr/local/bin/python3.12 — e lascia intatti i collegamenti che puntano ad altre versioni o a Homebrew. Se hai rimosso l’ultima versione nel framework, puoi eliminare lo stesso /Library/Frameworks/Python.framework. L’installer aggiunge anche la directory bin del framework alla PATH della tua shell in ~/.zprofile o ~/.bash_profile; rimuovi anche quella riga.

Disinstallare Python installato tramite pyenv

pyenv mantiene ogni versione installata sotto ~/.pyenv/versions, quindi rimuoverne una non tocca mai gli altri tuoi Python. Elenca le versioni installate:

pyenv versions

Disinstalla la versione che non ti serve più:

pyenv uninstall 3.12.4

pyenv chiede conferma e poi elimina la directory di quella versione. Esegui di nuovo pyenv versions per confermare che la versione è sparita; se era la tua versione globale, impostane una nuova con pyenv global, altrimenti la tua shell ricadrà su un’altra installazione.

Il Python di sistema fornito con macOS

macOS stesso fornisce un comando python3 in /usr/bin/python3 per gli Xcode Command Line Tools e altro software Apple. La documentazione di Python è esplicita su questa copia: è controllata da Apple e utilizzata dal software fornito da Apple e da terze parti, e non dovresti mai modificarla né tentare di eliminarla — si trova inoltre sul volume di sistema sigillato, quindi non può essere rimossa nel modo normale.

In questa sezione, quindi, non c’è nulla da disinstallare. Se python3 --version segnala ancora una versione dopo che hai rimosso le tue installazioni, controlla il percorso con which python3: quando stampa /usr/bin/python3, quella copia rimanente è quella di sistema, e lasciarla al suo posto è lo stato finale corretto.

Ripulire i file residui

Installer e gestori di pacchetti possono lasciare piccoli residui. Quelli che vale la pena rimuovere sono la directory di libreria per utente della versione che hai disinstallato e la cache dei download di pip:

rm -rf ~/Library/Python/3.12
rm -rf ~/Library/Caches/pip

Adegua il numero di versione a quello che hai rimosso, ed elimina solo le directory che appartengono a quella versione — un’altra installazione con un numero di versione diverso conserva la propria directory e non viene toccata. Gli ambienti virtuali che hai creato con il Python rimosso non funzioneranno più; elimina anche quelle cartelle di progetto, o ricreale con un Python rimanente.

Conclusione

Disinstallare Python su macOS è un lavoro per installazione: le versioni Homebrew escono con brew uninstall, le installazioni python.org escono rimuovendo la versione del framework, la cartella Applications e i suoi collegamenti simbolici /usr/local/bin, e le versioni pyenv escono con pyenv uninstall. Il Python di sistema di macOS non è mai l’obiettivo — identifica ogni copia con which -a python3, rimuovi solo quella che intendevi, e ripulisci solo i suoi residui.

FAQ

  1. Come controllo quali versioni di Python sono installate su macOS?
    Esegui which -a python3 per vedere ogni python3 nella tua PATH e controlla ogni gestore separatamente con brew list | grep python e pyenv versions.

  2. È sicuro disinstallare la versione di sistema di Python?
    No — e non è necessario. La copia /usr/bin/python3 appartiene a macOS e ai suoi strumenti di sviluppo; la documentazione di Python dice che non dovrebbe mai essere modificata o eliminata.

  3. Come posso reinstallare Python dopo averlo disinstallato?
    Installalo allo stesso modo di prima: brew install python per Homebrew, l’installer di python.org, o pyenv install seguito dal numero di versione per pyenv.

  4. Cosa devo fare se un comando di disinstallazione segnala un errore?
    Leggi quale programma lo ha stampato. Homebrew si rifiuta quando un’altra formula dipende dal Python in rimozione; gli errori di permesso sui file di python.org significano che il passaggio sudo è stato saltato; un nome di versione non trovato significa che è stato installato da un gestore diverso.

  5. Posso avere più versioni di Python installate contemporaneamente?
    Sì. Le installazioni di Homebrew, python.org e pyenv coesistono, e pyenv esiste proprio per passare da una versione all’altra.