Rimuovi e reinstalla Python su Mac — Posso fidarmi di questi vecchi riferimenti?

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.

  1. which python —> /Library/Frameworks/Python.framework/Versions/2.7/bin/python Elimina lintero Python.framework directory da /Library/Frameworks.
  2. which python3 —> /usr/local/bin/python3 Elimina lintera directory python3.
  3. 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 (o brew cleanup --prune più recente versioni di Homebrew) ha funzionato perfettamente. Ha rimosso tutti i collegamenti simbolici sopra.

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

  • @nohillside thx ma .. potresti avere riconosciuto facilmente il recente input di XXXX qui che ha richiesto la tua modifica come commento qui. Sembra una strana attribuzione per te. Non è consentito ai nuovi ‘ pubblicare commenti? E ora non posso ‘ vedere il nome della richiesta per farlo da solo.
  • Il modo migliore per ottenere lattribuzione è modificare effettivamente un post nel caso in cui sia necessaria la modifica , qualcosa che tutti gli utenti (anche quelli anonimi) possono fare. Se gli utenti scelgono di pubblicare commenti di miglioramento come risposte, di solito li modifico nel post correlato.
  • Le versioni homebrew di python non includeranno il supporto per Xcode o strumenti come lo scalpello lultima volta che ho controllato. Quindi questo in genere non è consigliato.
  • Solo per citare /System/Library/Frameworks/Python.framework/ non deve mai essere rimosso, link docs. python.org/3/using/mac.html
  • la nuova versione ha brew cleanup

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 in System/Library/Frameworks/Python.framework/Versions/...

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *