Fjern og installer Python på nytt på Mac — Kan jeg stole på disse gamle referansene?

Jeg er ny på macen, og tilsynelatende har jeg gjort en slags feil. Jeg har lært python, via opplæringsprogrammer, og mellom Homebrew, Pip og XCode på en eller annen måte er alle versjonene mine blandet. Pip3 peker på python2, så alle mine python3-forsøk mislykkes, osv …

Jeg «m undersøker hvordan man trygt kan fjerne alle versjoner og deretter skyte for en ren installasjon (hjemmebrygging?), men jeg er litt nervøs.

Jeg har funnet noen gode lenker:

Man berører tydeligvis ikke noe i roten /system -katalogen, og i utgangspunktet blir alt annet slettet Det som gjør meg nervøs, er at disse koblingene er ganske gamle. (Seks år! +) Jeg er ikke sikker på om jeg virkelig stoler på dem eller ikke.

Noen som har vært her i det siste? Kan jeg stole på innleggene som er lenket ovenfor? Hvordan rydder jeg opp i dette pythonversjonen? Merk: Jeg bruker MacOS Sierra (10.12.5)

Svar

Så jeg endte opp med å fjerne alle pythoninstallasjoner, og installere ting på nytt via Homebrew.

  1. which python —> /Library/Frameworks/Python.framework/Versions/2.7/bin/python Slett hele Python.framework katalog fra /Library/Frameworks.
  2. which python3 —> /usr/local/bin/python3 Slett hele python3-katalogen.
  3. Jeg var litt nervøs for symlinkene. Jeg omdøpte først de som åpenbart skulle gi meg problemer. Det viser seg at det var unødvendig. I stedet er det bare å bruke :

    $ 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 

    Så, brew prune (eller brew cleanup --prune på nyere versjoner av Homebrew) fungerte perfekt. Det fjernet alle de ovennevnte symlinkene.

  4. Installer python og python3 på nytt via homebrew. Alt gjort.

Jeg berørte ikke på noe tidspunkt pythoninstallasjonen i /System -mappen.

Åh, og for å være klar. Svaret på det opprinnelige spørsmålet er

Ja, du kan stole på de gamle referansene, som skrevet! Veiledningen er fortsatt gyldig.

Kommentarer

  • @nohillside thx men .. du kunne ha anerkjente lett den nylige innspillingen fra XXXX her som ba om redigeringen din som en kommentar her. Ser ut til å være en merkelig tilskrivnings savn for deg .. Har nybegynner ‘ ikke lov til å legge ut kommentarer? Og nå kan jeg ‘ ikke se innsendingsnavnet for å gjøre det selv.
  • Den beste måten å få tilskrivelse på er å faktisk redigere et innlegg i tilfelle redigering er nødvendig , noe alle brukere (også anonyme) kan gjøre. Hvis brukerne velger å legge ut forbedringskommentarer som svar, redigerer jeg dem vanligvis bare til det relaterte innlegget.
  • Homebrew-versjoner av python inkluderer ikke støtte for Xcode eller verktøy som meisel sist jeg sjekket. Så dette er vanligvis ikke anbefalt.
  • Bare for å nevne /System/Library/Frameworks/Python.framework/ må aldri fjernes, lenke docs. python.org/3/using/mac.html
  • ny versjon har bryggeopprydding

Svar

Min Python-versjon var 3.6, jeg ville oppgradere til 3.7 (i tilfelle du har lignende krav). Jeg bruker macOS versjon 10.12.6 og avinstallering og installering på nytt fungerte for meg:

brew uninstall --ignore-dependencies python3 

Deretter:

brew install python3 

og ferdig:

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. 

Kommentarer

  • Dette fungerte bra for meg. Jeg måtte justere ipython banen ved å redigere lanseringsskriptet manuelt – for å peke på bryggeversjonen av python

Svar

Systemfiler er beskyttet av System Integrity Protection. Du vil ikke kunne følge disse instruksjonene for å rm -rf tilfeldige mapper i / System uten å deaktivere SIP først.

Men fordi filene er beskyttet, vet du filene har ikke blitt endret. «Versjonsknippet» ditt skyldes skjelloppsettet ditt og vil ikke endres ved å endre systemfiler uansett. Du bør ikke berøre disse filene som garantert finnes i macOS.

Homebrew installeres separat i / usr / local / Cellar. Bruk Homebrew til å administrere Python-installasjonen din og ignorere systeminstallasjonen fullstendig.

Kommentarer

  • Var det JA, greit å stole på de to referansene, eller NEI , stoler ikke ‘ på dem? Disse referansene virker av høy kvalitet, godt begrunnet og forklart i ganske god detalj.
  • @zipzit Du kan stole på dem, men de vant ‘ t work – at ‘ er to separate ting.Innholdet er pålitelig; prøv den på en nylig versjon av macOS, og den vil ikke ‘ ikke skade, men den vil ikke ‘ ikke virke, av grunnene gitt i dette svaret. Jeg anbefaler på det sterkeste å ikke deaktivere SIP bare for å fjerne systemets Python-installasjon (det er grunnen til at jeg ikke har ‘ t knyttet til instruksjonene) fordi det ‘ er ikke den faktiske årsaken til problemet ditt og vant ‘ ikke til å løse noe, noe som potensielt kan forårsake flere problemer i prosessen.
  • Svaret ditt ‘ t gir mening for meg. Ingen av kvalitetssvarene som er lenket ovenfor, berører noe i /system. Ingen = Ikke en, null, Zip, Nada. Det er ting å slette i 1) Python 3.3-mappen i applikasjonsmappen. 2) /Library/Frameworks/Python.framework 3) ~ 20 symlinks i / usr / local / bin. 4) referanser i skallbane (hvis det finnes). Jeg vil ikke ‘ ikke tro at noen av dem vil treffe beskyttelsen du snakker om. Hva mangler jeg?
  • @zipzit For ganske lenge siden ble Python flyttet fra / Bibliotek til / System / Bibliotek, så du berører / System i et forsøk på å fjerne systeminstallasjonen. Systemet Python framework er i /System/Library/Frameworks/Python.framework, not / Library.
  • $which python /Library/Frameworks/Python.framework/Versions/2.7/bin/python $ which python3 /usr/local/bin/python3 pluss python 2.3, 2.4, 2.5, 2.7 og gjeldende plassert på System/Library/Frameworks/Python.framework/Versions/...

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *