Ta bort och installera om Python på Mac — Kan jag lita på dessa gamla referenser?

Jag är ny på macen och tydligen har jag gjort något slags fel. Jag har lärt mig python via tutorials och mellan Homebrew, Pip och XCode på något sätt är mina versioner alla blandade. Pip3 pekar på python2, så alla mina python3-försök misslyckas, osv …

Jag ”m undersöker hur man säkert kan ta bort alla versioner och sedan skjuta för en ren installation (homebrew?) men jag är lite nervös.

Jag har hittat några utmärkta länkar:

Det är uppenbart att man inte rör något i rotkatalogen /system och i princip raderas allt annat Det som gör mig nervös är att de här länkarna är ganska gamla. (Sex år! +) Jag är inte säker på om jag verkligen litar på dem eller inte.

Har någon varit här nyligen? Kan jag lita på inläggen länkade ovan? Hur rensar jag upp den här pythonversionen? Obs: Jag använder MacOS Sierra (10.12.5)

Svar

Så jag slutade ta bort alla pythoninstallationer, och installera om saker via Homebrew.

  1. which python —> /Library/Frameworks/Python.framework/Versions/2.7/bin/python Ta bort hela Python.framework katalog från /Library/Frameworks.
  2. which python3 —> /usr/local/bin/python3 Ta bort hela python3-katalogen.
  3. Jag var lite nervös för symlänkar. Jag döpte ursprungligen till de som uppenbarligen skulle orsaka mig problem. Det visar sig att det var onödigt. Använd istället bara :

    $ 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 i nyare versioner av Homebrew) fungerade perfekt. Det tog bort alla ovanstående symlänkar.

  4. Installera om python och python3 via homebrew. Allt gjort.

Inte vid något tillfälle rörde jag pythoninstallationen i /System -mappen.

Åh, och för att vara tydlig. Svaret på den ursprungliga frågan är

Ja, du kan lita på de gamla referenserna, som skrivna! Den vägledningen är fortfarande giltig.

Kommentarer

  • @nohillside thx men .. du kan ha erkände enkelt den senaste inmatningen från XXXX här som fick din redigering som en kommentar här. Verkar en udda attribution miss för dig .. Får nybörjare ’ inte lägga upp kommentarer? Och nu kan jag ’ inte se inlämningsnamnet för att göra det själv.
  • Det bästa sättet att få tillskrivning är att faktiskt redigera ett inlägg om redigering krävs , något alla användare (även anonyma) kan göra. Om användare väljer att lägga upp förbättringskommentarer som svar brukar jag bara redigera dem till det relaterade inlägget.
  • Homebrew-versioner av python innehåller inte stöd för Xcode eller verktyg som mejsel senast jag kollade. Så detta rekommenderas vanligtvis inte.
  • För att bara nämna /System/Library/Frameworks/Python.framework/ får aldrig tas bort, länk docs. python.org/3/using/mac.html
  • ny version har bryggrensning

Svar

Min Python-version var 3.6, jag ville uppgradera till 3.7 (om du har liknande krav). Jag använder macOS version 10.12.6 och helt enkelt avinstallerade och installerade om fungerade för mig:

brew uninstall --ignore-dependencies python3 

Sedan:

brew install python3 

och gjort:

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

  • Detta fungerade bra för mig. Jag behövde justera ipython sökvägen genom att manuellt redigera startskriptet – för att peka på bryggversionen av python

Svar

Systemfiler skyddas av System Integrity Protection. Du kommer inte att kunna följa dessa instruktioner för att rm -rf slumpmässiga mappar i / System utan att inaktivera SIP först.

Men eftersom filerna är skyddade vet du filerna har inte ändrats. Din versionröra beror på din shell-inställning och ändras inte ändå genom att ändra systemfiler. Du bör inte röra vid dessa filer som garanterat finns i macOS.

Homebrew installeras separat i / usr / local / Cellar. Använd Homebrew för att hantera din Python-installation och ignorera systeminstallationen helt.

Kommentarer

  • Var det JA, okej att lita på dessa två referenser, eller NEJ , litar du inte på ’? Dessa referenser verkar av hög kvalitet, väl motiverade och förklarade i ganska bra detalj.
  • @zipzit Du kan lita på dem, men de vann ’ t fungerar – att ’ är två separata saker.Innehållet är pålitligt; prova på en ny version av macOS och den kommer inte ’ att göra någon skada, men den kommer inte att fungera ’, av anledningarna anges i detta svar. Jag rekommenderar starkt att du inte inaktiverar SIP bara för att ta bort Python-installationen av ditt system (det är därför jag inte har ’ t länkad till instruktioner) för att ’ s är inte den faktiska orsaken till ditt problem och vann ’ inte till att lösa någonting, vilket kan orsaka fler problem i processen.
  • Ditt svar inte ’ t menar mig. Inget av kvalitetssvaren länkade ovan berör något i /system. Ingen = Inte En, Noll, Zip, Nada. Det finns saker att ta bort i 1) Python 3.3-mappen i din applikationsmapp. 2) /Library/Frameworks/Python.framework 3) ~ 20 symlänkar i / usr / local / bin. 4) referenser i skalvägen (om det finns). Jag skulle ’ inte tro att någon av dem kommer att träffa skyddet du pratar om. Vad saknar jag?
  • @zipzit För ett tag sedan flyttades Python från / Library till / System / Library, så du kommer att röra vid / System i ett försök att ta bort systeminstallationen. Systemets Python-ramverk finns i /System/Library/Frameworks/Python.framework, inte / 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 och ström som ligger vid System/Library/Frameworks/Python.framework/Versions/...

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *