Come disinstallare Python 2.7 su Mac OS X 10.6.4?


339

Voglio rimuovere completamente Python 2.7 dal mio Mac OS X 10.6.4. Sono riuscito a rimuovere la voce dalla PATHvariabile ripristinando il mio .bash_profile. Ma voglio anche rimuovere tutte le directory, i file, i collegamenti simbolici e le voci che sono stati installati dal pacchetto di installazione di Python 2.7. Ho il pacchetto di installazione da http://www.python.org/ . Quali directory / file / voci del file di configurazione devo rimuovere? C'è una lista da qualche parte?

Risposte:


705

Non tentare di rimuovere i sistemi Python forniti da Apple che si trovano /System/Librarye /usr/bin, poiché ciò potrebbe danneggiare l'intero sistema operativo.


NOTA: i passaggi elencati di seguito non influiscono sul sistema fornito da Apple Python 2.7; rimuovono solo un framework Python di terze parti, come quelli installati dagli installer di python.org .


L'elenco completo è documentato qui . Fondamentalmente, tutto ciò che devi fare è il seguente:

  1. Rimuovi il framework Python 2.7 di terze parti

    sudo rm -rf /Library/Frameworks/Python.framework/Versions/2.7
  2. Rimuovere la directory delle applicazioni di Python 2.7

    sudo rm -rf "/Applications/Python 2.7"
  3. Rimuovi i collegamenti simbolici, in /usr/local/bin, che puntano a questa versione di Python. Li vedi usando

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

    e quindi eseguire il comando seguente per rimuovere tutti i collegamenti:

    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. Se necessario, modificare i file del profilo della shell per rimuovere l'aggiunta /Library/Frameworks/Python.framework/Versions/2.7al PATHfile di ambiente. A seconda di quale shell si usa, uno qualsiasi dei seguenti file potrebbero essere stati modificati: ~/.bash_login, ~/.bash_profile, ~/.cshrc, ~/.profile, ~/.tcshrc, e / o ~/.zprofile.


157
Grazie per l'heads Ned, l'ho rimosso e ho scoperto che devi reinstallare Mac OS X. Lo lascerò qui per chiunque venga e pensa la stessa cosa che ho fatto. Non rimuovere Python in / Sistema / Libreria / Frameworks / ... Nessuna delle tue app funzionerà e dovrai reinstallare OS X.
brthornbury,

44
Python 2.7 è il sistema predefinito Python su sistemi recenti, mentre su 10.6.4 era 2.6 e 2.7 era installato dall'utente. NON DISINSTALLARE 2.7 DA UN SISTEMA OS X RECENTE.
Martijn Pieters

30
I passaggi precedenti non rimuovono il sistema Python da nessuna versione di OS X. System Pythons è installato /System/Library/Frameworks(che non dovresti mai modificare), non /Library/Frameworks.
Ned Deily,

5
brew doctorpuò anche essere usato per trovare i symlink non utilizzati.
Shubham Kushwah,

5
Non fare quei passaggi !!!!! Il tuo ambiente virtualenv sarà rotto !!!!! Oh mio Dio!!! Perché ho fatto questi passaggi !!!!!!!!!!
FIREUSD

75

Questo funziona:

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

Descrizione: elenca tutti i collegamenti, rimuove il @carattere e quindi li rimuove.


1
Ho provato tutte le risposte fornite qui, e questa è quella che alla fine ha fatto il trucco.
jtsmith1287

25

Se lo hai installato usando il programma di installazione PKG, puoi fare:

pkgutil --pkgs

o meglio:

pkgutil --pkgs | grep org.python.Python

che produrrà qualcosa di simile:

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

ora puoi selezionare quali pacchetti scollegare (rimuovere).

Questa è la documentazione scollegata:

 --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.

Nel mio esempio digiterai

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

o in una sola riga:

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

Importante: --unlink non è più disponibile a partire da Lion (a partire da Q1`2014 che includerebbe Lion, Mountain Lion e Mavericks). Se qualcuno che arriva a queste istruzioni prova a usarlo con Lion, dovrebbe invece provare ad adattarlo con quello che dice questo post: https://wincent.com/wiki/Uninstalling_packages_(.pkg_files)_on_Mac_OS_X


4
Sfortunatamente, a seconda di pkgutilciò non rimuoveranno tutti i file installati dal programma di installazione di Python perché alcuni di essi vengono creati durante gli script postflight di installazione e, come tali, non sono registrati.
Ned Deily,

21

Prova di disinstallare Python con

brew uninstall python

sarà non rimuovere il Python installato in modo nativo, ma piuttosto la versione installata con brew.


9

Per quanto riguarda l'eliminazione dei collegamenti simbolici, ho trovato questo utile.

find /usr/local/bin -lname '../../../Library/Frameworks/Python.framework/Versions/2.7/*' -delete

questa è un'idea molto meglio che analizzare l'output di lscome nella risposta accettata
spinup

9

Crea il link simbolico all'ultima versione

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

Chiudi e apri un nuovo terminale

e prova

 python --version

Grazie mille e allo stesso modo per pip "ln -s -f / usr / local / bin / pip3 / usr / local / bin / pip" quindi "pip --version" anche se si desidera aggiornare pip utilizzare questo comando "pip install --upgrade pip"
Moh Alaraabi

6

Non è necessario disinstallare le vecchie versioni di Python.

Basta installare la nuova versione dire python-3.3.2-macosx10.6.dmg e cambiare il soft link di Python in Python3.3 appena installato

Controllare il percorso di python predefinito e python3.3 con i seguenti comandi

"quale pitone" e "quale pitone3.3"

quindi eliminare il collegamento software esistente di Python e puntarlo su Python3.3


10
Grazie, ma questo non risponde alla mia domanda. La domanda non è se devo disinstallare una vecchia versione di Python per installare una nuova versione.
Jan Deinhard,

1
Questo sembra l'approccio più sicuro, dal momento che, per me, confondere con ciò che il sistema operativo mette sulla macchina di solito non risulta così bene. Anch'io "ho ricevuto il pacchetto di installazione da python.org " dopo aver riscontrato problemi di sintassi dalle istruzioni python3 in una shell python2. Il mio primo pensiero è stato quello di rimuovere python2 e utilizzare invece python3. Tuttavia, da post precedenti che confermano i pericoli di tale azione. Questa è stata la soluzione migliore per me e segue l'idea di "utilizzare i collegamenti per reindirizzare il comportamento". Inoltre, la shell python3 era già installata, bastava digitare "python3" invece di "python" al prompt.
Mark Longmire,

@ minhas23 Come potrei eliminare il collegamento software e crearne uno nuovo?
Doberkofler,

4

Onur Güzel fornisce la soluzione nel suo blog, "Disinstalla Python Package da OS X .

È necessario digitare i seguenti comandi nel terminale:

  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"

    dove comando xy è la versione di Python installata. Secondo la tua domanda, dovrebbe essere 2.7.

Nelle parole di Onur:

ATTENZIONE: questo comando rimuoverà tutte le versioni di Python installate con i pacchetti. Python fornito dal sistema non sarà interessato.

Se hai installato più di una versione di Python da python.org, esegui di nuovo il quarto comando, cambiando "xy" per ogni versione di Python che deve essere disinstallata.


Ciò ha risolto il mio problema, ho 2.7.10 e ho installato 2.7.15 e quando ho eseguito "Python" il 2.7.10 continuava a essere visualizzato non 2.7.15, dopo che il tuo aiuto ora funziona tutto, grazie
Radek

4

Nota : se hai installato Python usando Homebrew, puoi seguire i seguenti passi, altrimenti cerca un'altra soluzione!


Per disinstallare Python 2.7.10 che hai installato usando Homebrew, puoi semplicemente emettere il seguente comando:

brew uninstall python

Allo stesso modo, se vuoi disinstallare Python 3 (che hai installato usando Homebrew):

brew uninstall --force python3

3

Non è necessario disinstallarlo o impazzire con i collegamenti simbolici, basta usare un alias. Ho riscontrato lo stesso problema durante l'aggiornamento a Python 3.7.1.
Basta installare la nuova versione di Python usando brew install pythonquindi nel tuo .bash_profilecreare un alias che punta alla nuova versione di Python; in questo modo: alias python="/usr/local/bin/python3"quindi salva ed esegui source ~/.bash_profile.
Fatto.


2

Se stai pensando di rimuovere manualmente il predefinito Python 2.7 di Apple, ti suggerirei di appiccicare e notare: sembra che Apple lo farà molto presto per te:

Python 2.7 obsoleto in OSX 10.15 Catalina

Python 2.7- così come Ruby & Perl- sono deprecati in Catalina: (vai alla sezione " Runtime del linguaggio di scripting "> " Deprecazioni ")

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

Apple per rimuovere Python 2.7 in OSX 10.16

Infatti, se non fai nulla, secondo The Mac Observer , con OSX versione 10.16, Python 2.7 scomparirà dal tuo sistema:

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

Data questa rivelazione, suggerirei che il miglior modo di agire è non fare nulla e aspettare che Apple lo pulisca per te. Dato che Apple sta per rimuoverlo per te, non sembra valere il rischio di armeggiare con il tuo ambiente Python.

NOTA : vedo che la domanda si riferisce specificamente a OSX v 10.6.4 , ma sembra che questa domanda sia diventata un perno per tutte le persone OSX interessate a rimuovere Python 2.7 dai loro sistemi, indipendentemente dalla versione in esecuzione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.