Rimuovere e reinstallare Python su Mac - Posso fidarmi di questi vecchi riferimenti?


36

Sono nuovo nel mac e apparentemente ho fatto 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 su python3 falliscono, ecc ...

Sto cercando come rimuovere in sicurezza tutte le versioni e quindi scattare per un'installazione pulita (homebrew?) Ma sono un po 'nervoso.

Ho trovato alcuni link eccellenti:

Chiaramente non si tocca nulla nella /systemdirectory principale e praticamente tutto il resto viene eliminato. Ciò che mi rende nervoso è che questi collegamenti sono piuttosto vecchi. (sei anni! +) Non sono sicuro di fidarmi davvero di loro o meno.

Qualcuno è stato qui di recente? Posso fidarmi delle pubblicazioni collegate sopra? Come ripulisco questo pasticcio della versione di Python? Nota: sto usando MacOS Sierra (10.12.5)

Risposte:


34

Quindi, ho finito per rimuovere tutte le installazioni di Python e reinstallare le cose tramite Homebrew.

  1. which python---> /Library/Frameworks/Python.framework/Versions/2.7/bin/python Elimina l'intera directory Python.framework da /Library/Frameworks.
  2. which python3---> /usr/local/bin/python3 Elimina l'intera directory python3.
  3. Ero un po 'nervoso per i symlink. Inizialmente ho rinominato quelli che ovviamente mi avrebbero causato problemi. Si scopre che non era necessario. Invece, basta usare:

    $ 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 --prunenelle versioni più recenti di Homebrew) ha funzionato perfettamente. Ha rimosso tutti i collegamenti simbolici sopra.

  4. Reinstalla python e python3 tramite homebrew. Tutto fatto.

Non ho mai toccato l'installazione di Python all'interno della /Systemcartella.

Oh, e per essere chiari. La risposta alla domanda originale è

Sì, puoi fidarti dei vecchi riferimenti, come scritto! Quella guida è ancora valida.


@nohillside thx ma .. avresti potuto facilmente riconoscere il recente input di XXXX qui che ha spinto la tua modifica come commento qui. Sembra una strana mancata attribuzione per te .. I newby non possono pubblicare commenti? E ora non riesco a vedere il nome di invio per farlo da solo.
zipzit,

Il modo migliore per ottenere l'attribuzione è in realtà modificare un post nel caso in cui sia necessaria la modifica, cosa 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 relativo post.
Nohillside

Le versioni homebrew di python non includeranno il supporto per Xcode o strumenti come scalpello l'ultimo che ho controllato. Quindi questo in genere non è raccomandato.
nyteshade il

Solo per citare /System/Library/Frameworks/Python.framework/non deve mai essere rimosso, link docs.python.org/3/using/mac.html
ivan.proskuryakov

nuova versione ha preparato la pulizia
GraphicalDot

5

La mia versione di Python era la 3.6, volevo passare alla 3.7 (nel caso abbiate requisiti simili). Sto usando macOS versione 10.12.6 e semplicemente disinstallando e reinstallando ha funzionato per me:

brew uninstall --ignore-dependencies python3

Poi:

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.

Questo ha funzionato bene per me. Avevo bisogno di regolare il ipythonpercorso modificando manualmente lo script di avvio - per puntare alla versione brew di python
javadba

0

I file di sistema sono protetti da System Integrity Protection. Non sarai in grado di seguire queste istruzioni per rm -rfcartelle casuali in / Sistema senza disabilitare prima SIP.

Tuttavia, poiché i file sono protetti, sai che i file non sono stati modificati. Il tuo 'pasticcio di versione' sarebbe dovuto alla configurazione della tua shell e non sarebbe cambiato modificando comunque i file di sistema. Non dovresti toccare questi file che sono garantiti esistano in macOS.

Homebrew si installa separatamente in / usr / local / Cellar. Utilizzare Homebrew per gestire l'installazione di Python e ignorare completamente l'installazione del sistema.


Era SÌ, va bene fidarsi di quei due riferimenti, o NO, non fidarsi di loro? Tali riferimenti sembrano di alta qualità, ben ponderati e spiegati in modo abbastanza dettagliato.
zipzit

1
@zipzit È possibile fidarsi di loro, ma non lo faranno il lavoro - che è due cose separate. Il contenuto è affidabile; provalo su una versione recente di macOS e non farà alcun danno, ma non funzionerà, per i motivi indicati in questa risposta. Consiglio vivamente di non disabilitare SIP solo per rimuovere l'installazione di Python di sistema (motivo per cui non ho collegato alle istruzioni) perché non è la vera causa del problema e non aiuterà a risolvere nulla, causando potenzialmente più problemi nel processo.
grg

La tua risposta non ha senso per me. Nessuna delle risposte di qualità collegate sopra tocca nulla /system. None = Not One, Zero, Zip, Nada. Ci sono cose da eliminare in 1) cartella Python 3.3 nella cartella Applicazioni. 2) /Library/Frameworks/Python.framework 3) ~ 20 symlink in / usr / local / bin. 4) riferimenti nel percorso della shell (se esiste). Non credo che nessuno di questi colpirà le protezioni di cui stai parlando. Cosa mi sto perdendo?
zipzit

@zipzit Molto tempo fa, Python è stato spostato da / Libreria a / Sistema / Libreria, quindi toccherai / Sistema nel tentativo di rimuovere l'installazione del sistema. Il framework di sistema Python è in /System/Library/Frameworks/Python.framework, non / Library.
grg

$which python /Library/Frameworks/Python.framework/Versions/2.7/bin/python $ which python3 /usr/local/bin/python3più python 2.3, 2.4, 2.5, 2.7 e la corrente si trova aSystem/Library/Frameworks/Python.framework/Versions/...
zipzit
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.