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.
-
which python
—>/Library/Frameworks/Python.framework/Versions/2.7/bin/python
Ștergeți întregul Python.framework director din/Library/Frameworks
. -
which python3
—>/usr/local/bin/python3
Ștergeți întregul director python3. -
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
(saubrew cleanup --prune
în versiuni mai noi versiunile de Homebrew) au funcționat perfect. A eliminat toate legăturile simbolice de mai sus. -
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
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?
$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/...
/System/Library/Frameworks/Python.framework/
nu trebuie niciodată eliminat, link docs. python.org/3/using/mac.html