Eliminați și reinstalați Python pe Mac — Pot avea încredere în aceste referințe vechi?

Sunt nou pentru Mac și, aparent, am făcut un fel de eroare. Am „învățat Python, prin tutoriale și între Homebrew, Pip și XCode, cumva versiunile mele sunt toate amestecate. Pip3 indică Python2, deci toate încercările mele Python3 eșuează, etc …

Eu” m ” Cercetând cum să eliminați în siguranță toate versiunile și apoi să trageți pentru o instalare curată (homebrew?), dar „sunt puțin nervos.

Am găsit câteva legături excelente:

În mod clar, nu se atinge nimic din directorul rădăcină /system și practic orice altceva este șters. Ceea ce mă face să fiu nervos este că aceste legături sunt destul de vechi. (Șase ani! +) Nu sunt sigur dacă am încredere în ele sau nu.

A fost cineva aici în ultima vreme? Pot avea încredere în postările legate mai sus? Cum pot curăța această mizerie de versiune python? Notă: folosesc MacOS Sierra (10.12.5)

Răspuns

Deci, am ajuns să elimin toate instalările Python, și reinstalarea lucrurilor prin Homebrew.

  1. which python —> /Library/Frameworks/Python.framework/Versions/2.7/bin/python Ștergeți întregul Python.framework director din /Library/Frameworks.
  2. which python3 —> /usr/local/bin/python3 Ștergeți întregul director python3.
  3. Am fost puțin nervos în legătură cu linkurile simbolice. Am redenumit inițial cele care evident că îmi vor provoca probleme. Se pare că nu era necesar. În schimb, utilizați doar :

    $ 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 

    Deci, brew prune (sau brew cleanup --prune în versiuni mai noi versiunile de Homebrew) au funcționat perfect. A eliminat toate legăturile simbolice de mai sus.

  4. Reinstalați python și python3 prin homebrew. Gata.

În niciun moment nu am atins instalarea python situată în folderul /System.

Oh, și pentru a fi clar. Răspunsul la întrebarea inițială este

Da, puteți avea încredere în vechile referințe, așa cum sunt scrise! Această îndrumare este încă valabilă.

Comentarii

  • @nohillside thx dar .. ai putea avea a recunoscut cu ușurință introducerea recentă de la XXXX aici care a determinat editarea dvs. ca un comentariu aici. Pare o ciudată atribuire lipsită de dvs. .. Nu sunt permiși noului ‘ să posteze comentarii? Și acum nu pot ‘ să văd numele de trimitere pentru a o face singur.
  • Cel mai bun mod de a obține atribuire este să editați de fapt o postare în cazul în care este necesară editarea , ceva ce pot face toți utilizatorii (chiar și cei anonimi). Dacă utilizatorii aleg să posteze comentarii de îmbunătățire ca răspunsuri, de obicei le editez în postarea aferentă.
  • Versiunile Homebrew ale python nu vor include suport pentru Xcode sau instrumente precum daltă ultima verificare. Deci, acest lucru nu este de obicei recomandat.
  • Doar pentru a menționa /System/Library/Frameworks/Python.framework/ nu trebuie niciodată eliminat, link docs. python.org/3/using/mac.html
  • noua versiune a făcut curățare

Răspuns

Versiunea mea Python era 3.6, am vrut să trec la 3.7 (În cazul în care aveți cerințe similare). Folosesc macOS versiunea 10.12.6 și pur și simplu dezinstalarea și reinstalarea au funcționat pentru mine:

brew uninstall --ignore-dependencies python3 

Apoi:

brew install python3 

și gata:

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. 

Comentarii

  • Acest lucru a funcționat bine pentru mine. Trebuia să ajustez calea ipython editând manual scriptul de lansare – pentru a indica versiunea brew a python

Răspuns

Fișierele de sistem sunt protejate de System Integrity Protection. Nu veți putea urma aceste instrucțiuni pentru rm -rf directoare aleatorii din / System fără a dezactiva mai întâi SIP.

Cu toate acestea, deoarece fișierele sunt protejate, știți fișierele nu au fost modificate. „Versiunea dezordonată” s-ar datora configurării shell-ului și nu va fi modificată oricum modificând fișierele de sistem. Nu ar trebui să atingeți aceste fișiere care sunt garantate că există în macOS.

Homebrew se instalează separat în / usr / local / Pivniță. Folosiți Homebrew pentru a gestiona instalarea Python și ignorați complet instalarea sistemului.

Comentarii

  • A fost DA, bine să aveți încredere în aceste două referințe sau NU , nu ‘ nu aveți încredere în ei? Aceste referințe par de înaltă calitate, bine motivate și explicate în detalii destul de bune.
  • @zipzit Puteți aveți încredere în ele, dar au câștigat ‘ t work – ‘ are două lucruri separate.Conținutul este de încredere; încercați-l pe o versiune recentă de macOS și ‘ nu va face niciun rău, dar ‘ nu va funcționa, din motive dat în acest răspuns. Vă recomandăm să nu dezactivați SIP doar pentru a elimina instalarea Python a sistemului (motiv pentru care nu am ‘ legat de instrucțiuni) deoarece ‘ Nu este cauza reală a problemei dvs. și ‘ nu vă va ajuta să rezolvați nimic, putând provoca mai multe probleme în proces. ad403f4dd8 „>

nu are sens pentru mine. Niciunul dintre răspunsurile de calitate legate mai sus nu atinge nimic din/system. Nici unul = Nici unul, Zero, Zip, Nada. Există lucruri de șters în dosarul 1) Python 3.3 din folderul Aplicații. 2) /Library/Frameworks/Python.framework 3) ~ 20 de linkuri simbolice în / usr / local / bin. 4) referințe în calea shell (dacă există). Nu cred că ‘ cred că vreunul dintre aceștia va atinge protecțiile despre care vorbiți. Ce îmi lipsește?

  • @zipzit În urmă cu ceva timp, Python a fost mutat din / Library în / System / Library, așa că veți atinge / System în încercarea de a elimina instalarea sistemului. Cadrul Python al sistemului se află în /System/Library/Frameworks/Python.framework, nu / Library.
  • $which python /Library/Frameworks/Python.framework/Versions/2.7/bin/python $ which python3 /usr/local/bin/python3 plus python 2.3, 2.4, 2.5, 2.7 și curent situat la System/Library/Frameworks/Python.framework/Versions/...
  • Lasă un răspuns

    Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *