2015-06-15 13 views
7

Sto cercando un modo per disinstallare in modo pulito tutte le versioni di python su OS X 10.10 tranne la versione predefinita che seguiva il Mac. Come procedo?Come disinstallare tutte le versioni python e utilizzare la versione di sistema predefinita di OS X 10.10?

Attualmente ho un comportamento strano. Quando si digita which -a python ricevo il seguente output:

/Users/harisfawad/anaconda/bin/python 
/Library/Frameworks/Python.framework/Versions/2.7/bin/python 
/usr/local/bin/python 
/usr/bin/python 

Perché non ha la versione di default di Python in /System/Library/.../ presentarsi qui? Posso trovare quella versione in Finder, quindi so che non è stata cancellata.

Inoltre, echo $PYTHONPATH restituisce una riga vuota.

Posso solo andare avanti ed eliminare tutte queste cartelle e aspettarmi che la versione di default funzioni correttamente?

Ho letto una richiesta simile qui http://bugs.python.org/issue7107 ma non sono sicuro se questo è ancora applicabile alle versioni python 2.7/3.4.

Questa è anche una domanda simile How to uninstall Python 2.7 on a Mac OS X 10.6.4? Ma ancora una volta, non voglio essere disattento e fare la disinstallazione prima di assicurarsi che la versione fornita dal sistema funzioni.

UPDATE: Quando si esegue brew doctor ho questa Warning: "config" scripts exist outside your system or Homebrew directories. E si va avanti elencando i file "config" nella /.../anaconda/bin e in /Library/.../bin.

UPDATE2: Sono andato con successo alla versione di default di python che è stato incluso in OS X. Tutte le versioni di cui sopra di Python dove spostato nel cestino, ad eccezione /usr/bin/python. Grazie, @rhashimoto e @PadraicCunningham!

+0

Puoi rimuovere qualsiasi versione installata senza problemi, potresti dover reinstallare pip per funzionare con il tuo python di sistema, assicurati solo di non fare nulla al tuo python di sistema –

+0

Ok. Ma c'è qualche ragione per cui la posizione del python di sistema non viene visualizzata insieme alle altre versioni installate? – harisf

+0

cosa produce l'output 'ls -l/usr/bin/python'? –

risposta

3

Il file /usr/bin/python (e /usr/bin/pythonw, che è un hard link allo stesso file) è in realtà un programma di avvio che richiama la versione di default di Python da /System/Library/Frameworks/Python.framework/Versions. È possibile select the version (2.6 e 2.7 in Yosemite) che il programma di avvio richiama utilizzando il comando defaults o la variabile di ambiente VERSIONER_PYTHON_VERSION.

Se si desidera eseguire manualmente una versione specifica, è possibile richiamare /usr/bin/python2.6 o /usr/bin/python2.7, che sono collegamenti simbolici in /System/Library/Frameworks/Python.framework/Versions.

Dovresti rimuovere tutte le altre implementazioni Python che elencherai dal tuo percorso, incluso /Library/Frameworks/Python.framework/Versions/2.7/bin/python (non sai come hai ottenuto quello). Sarebbe comunque saggio spostarli da qualche parte (ad es. La cartella Cestino) per verificare la modifica prima di eliminarli definitivamente.

+0

OK, quindi ho semplicemente spostato le versioni precedenti di python nel cestino. Ora 'which -a python' restituisce solo'/usr/bin/python', che suppongo sia un'indicazione che tutto è tornato ai valori predefiniti.Grazie per aver spiegato che questo è un link simbolico alla versione python su/System/... '. Digitando 'python' ora si avvia la versione di default su darwin. Ma, 'echo $ PYTHONPATH' restituisce ancora uno spazio vuoto. Qualche idea su cosa significhi? – harisf

+0

['PYTHONPATH'] (https://docs.python.org/2/using/cmdline.html#envvar-PYTHONPATH) aumenta il percorso di ricerca modulo predefinito. Puoi impostarlo su qualsiasi cosa desideri (se non lo imposti, sarà vuoto). Se vuoi vedere qual è il percorso corrente, puoi accedere a ['sys.path'] (http://stackoverflow.com/questions/5751292/how-to-get-current-import-paths-in-python) . – rhashimoto

+0

Nota che non ho detto che '/ usr/bin/python' è un collegamento simbolico. Si tratta di un piccolo programma di avvio che verifica quale sia la versione predefinita scelta e quindi richiama quella versione. – rhashimoto

Problemi correlati