Sono nuovo del Mac e, a quanto pare, ho commesso una sorta di errore. Ho imparato python, tramite tutorial, e tra Homebrew, Pip e XCode in qualche modo le mie versioni sono tutte miste. Pip3 punta a python2, quindi tutte le mie prove di python3 falliscono, ecc …
Io “m sto cercando come rimuovere in sicurezza tutte le versioni e poi cercare uninstallazione pulita (homebrew?) ma sono “un po nervoso.
Ho” trovato dei link eccellenti:
Chiaramente non si tocca nulla nella directory /system
di root e praticamente tutto il resto viene eliminato . Ciò che mi rende nervoso, è che questi link sono piuttosto vecchiotti. (Sei anni! +) Non sono sicuro se mi fido veramente di loro o no.
Qualcuno è stato qui ultimamente? Posso fidarmi dei post collegati sopra? Come posso ripulire questo pasticcio della versione di Python? Nota: sto usando MacOS Sierra (10.12.5)
Answer
Quindi, ho finito per rimuovere tutte le installazioni python, e reinstallare le cose tramite Homebrew.
-
which python
—>/Library/Frameworks/Python.framework/Versions/2.7/bin/python
Elimina lintero Python.framework directory da/Library/Frameworks
. -
which python3
—>/usr/local/bin/python3
Elimina lintera directory python3. -
Ero un po nervoso per i collegamenti simbolici. Inizialmente ho rinominato quelli che ovviamente avrebbero causato problemi. Si è scoperto che non era necessario. Invece, usa semplicemente :
$ brew doctor Warning: Broken symlinks were found. Remove them with "brew prune": /usr/local/bin/python-32 /usr/local/bin/python2-32 /usr/local/bin/python2.7-32 /usr/local/bin/python2_DNU /usr/local/bin/python_DNU /usr/local/bin/pythonw-32 /usr/local/bin/pythonw2-32 /usr/local/bin/pythonw2.7-32
Quindi,
brew prune
(obrew cleanup --prune
più recente versioni di Homebrew) ha funzionato perfettamente. Ha rimosso tutti i collegamenti simbolici sopra. -
Reinstalla python e python3 tramite homebrew. Tutto fatto.
In nessun momento ho toccato linstallazione di Python situata nella cartella /System
.
Oh, e per essere chiari. La risposta alla domanda originale è
Sì, puoi fidarti dei vecchi riferimenti, come scritto! Questa guida è ancora valida.
Commenti
Answer
La mia versione di Python era la 3.6, volevo aggiornarla alla 3.7 (nel caso avessi requisiti simili). Sto usando macOS versione 10.12.6 e la semplice disinstallazione e reinstallazione ha funzionato per me:
brew uninstall --ignore-dependencies python3
Quindi:
brew install python3
e fatto:
python3 Python 3.7.2 (default, Jan 13 2019, 12:51:54) [Clang 9.0.0 (clang-900.0.39.2)] on darwin Type "help", "copyright", "credits" or "license" for more information.
Commenti
- Ha funzionato bene per me. Avevo bisogno di modificare il percorso
ipython
modificando manualmente lo script di avvio, in modo che puntasse alla versione brew di python
Risposta
I file di sistema sono protetti da System Integrity Protection. Non sarai in grado di seguire queste istruzioni per rm -rf
cartelle casuali in / System senza prima disabilitare SIP.
Tuttavia, poiché i file sono protetti, lo sai i file non sono stati modificati. Il tuo “pasticcio di versione” sarebbe dovuto alla configurazione della shell e non verrebbe comunque cambiato modificando i file di sistema. Non dovresti toccare questi file che sono garantiti per lesistenza in macOS.
Homebrew si installa separatamente in / usr / local / Cellar. Usa Homebrew per gestire la tua installazione di Python e ignorare completamente linstallazione del sistema.
Commenti
- Era SÌ, va bene fidarsi di questi due riferimenti o NO , non ‘ ti fidi di loro? Quei riferimenti sembrano di alta qualità, ben ragionati e spiegati in modo abbastanza dettagliato.
- @zipzit Puoi fidarti di loro, ma hanno vinto ‘ t funziona: ‘ sono due cose separate.Il contenuto è affidabile; provalo su una versione recente di macOS e ‘ non farà alcun danno, ma ‘ non funzionerà, per i motivi dato in questa risposta. Consiglio vivamente di non disabilitare SIP solo per rimuovere linstallazione di Python dal sistema (motivo per cui non sono ‘ collegato alle istruzioni) perché ‘ non è la vera causa del problema e ‘ non aiuta a risolvere qualsiasi cosa, causando potenzialmente più problemi nel processo.
- La tua risposta non ‘ per me non ha senso. Nessuna delle risposte di qualità collegate sopra tocca nulla in
/system
. Nessuno = Non uno, Zero, Zip, Nada. Ci sono cose da eliminare nella 1) cartella Python 3.3 nella cartella Applicazioni. 2) /Library/Frameworks/Python.framework 3) ~ 20 collegamenti simbolici in / usr / local / bin. 4) riferimenti nel percorso della shell (se esiste). Non ‘ penserei che qualcuno di questi colpirà le protezioni di cui parli. Cosa mi manca? - @zipzit Qualche tempo fa, Python è stato spostato da / Library a / System / Library, quindi toccherai / System nel tentativo di rimuovere linstallazione del sistema. Il framework Python di sistema si trova in /System/Library/Frameworks/Python.framework, non / Library.
-
$which python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
$ which python3
/usr/local/bin/python3
più Python 2.3, 2.4, 2.5, 2.7 e corrente situata inSystem/Library/Frameworks/Python.framework/Versions/...
/System/Library/Frameworks/Python.framework/
non deve mai essere rimosso, link docs. python.org/3/using/mac.html