Mac'ta Python'u kaldırıp yeniden yükleyin - Bu eski referanslara güvenebilir miyim?


22

Mac'te yeniyim ve görünüşe göre bir çeşit hata yaptım. Python, öğreticiler aracılığıyla ve Homebrew, Pip ve XCode arasında bir şekilde sürümlerimi karıştırıyorum. Pip3 python2'yi gösteriyor, bu yüzden tüm python3 denemelerim başarısız oluyor, vb ...

Tüm sürümleri nasıl güvenle kaldıracağımı ve daha sonra temiz bir kurulum için çekim yapacağımı araştırıyorum (homebrew?) Ama biraz gerginim.

Bazı mükemmel bağlantılar buldum:

Açıkça biri kökündeki hiçbir şeye dokunmuyor /system dizin ve temelde her şey silinir. Beni tedirgin eden şey, bu bağlantıların bayağı eskimiş olması. (altı yıl! +) Gerçekten onlara güvenip güvenmediğimden emin değilim.

Son zamanlarda burada kimse var mıydı? Yukarıda bağlantı verilen ilanlara güvenebilir miyim? Bu python sürüm karmaşasını nasıl temizlerim? Not: MacOS Sierra kullanıyorum (10.12.5)

Yanıtlar:


25

Bu yüzden, tüm python kurulumlarını kaldırdım ve Homebrew aracılığıyla bir şeyleri yeniden kurdum.

  1. $ which python --- & gt; /Library/Frameworks/Python.framework/Versions/2.7/bin/python Tüm Python.framework dizinini sil /Library/Frameworks.
  2. $ which python3 --- & gt; /usr/local/bin/python3 Tüm python3 dizini silin.
  3. Sembolik bağlantılar konusunda biraz gergindim. Başlangıçta bana sorun çıkartacak olanları yeniden adlandırdım. Gereksiz olduğu ortaya çıktı. Bunun yerine, sadece kullanın:

    $ 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
    

    Yani, $ brew prune mükemmel çalıştı. Yukarıdaki semboliklerin hepsini kaldırdı.

  4. Python ve python3'ü homebrew ile tekrar kurun. Hepsi tamam.

Hiçbir zaman içinde bulunan python kurulumuna dokunmadım. /System Klasör.

Oh ve açık olmak gerekirse. Orijinal sorunun cevabı

Evet, eski referanslara yazılı olarak güvenebilirsiniz! Bu rehberlik hala geçerlidir.


Bu anlamanız çok uzun sürdü, ancak cevabınız mükemmel çalıştı! Bu adımları uyguladıktan sonra terminalimi kapatıp tekrar açmak zorunda kaldım, ancak sonra çalıştı.
cheese1756

Python3'ün ne yüklediğine dair bazı faydalı bilgiler, kaldırırken kaldırılması gerekiyor. docs.python.org/3/using/...
PeteH32

Ayrıca bazı şeyler buldum /Users/<username>/Library/Python
PeteH32

1

Sistem dosyaları Sistem Bütünlüğü Koruması ile korunmaktadır. Bu talimatları uygulayamazsınız. rm -rf / SIP'yi devre dışı bırakmadan önce / System içindeki rasgele klasörler.

Ancak, dosyalar korunduğundan, dosyaların değiştirilmediğini bilirsiniz. 'Sürüm karışıklığınız' kabuk kurulumunuzdan kaynaklanıyor ve sistem dosyalarını yine de değiştirerek değiştirilmiyordu. MacOS'ta var olduğu garantili olan bu dosyalara dokunmamalısınız.

Homebrew / usr / local / Cellar içinde ayrı ayrı kurulur. Python kurulumunuzu yönetmek ve sistem kurulumunu tamamen göz ardı etmek için Homebrew kullanın.


Bu, bu iki referansa güvenmek için tamam mı, yoksa HAYIR, onlara güvenmiyor mu? Bu referanslar kaliteli görünüyorlar, mantıklı ve oldukça detaylı bir şekilde açıklanmışlar.
zipzit

1
@zipzit You kutu Onlara güven, ama işe yaramazlar - bu iki ayrı şey. İçerik güvenilir; macOS'un son sürümünde deneyin ve zarar vermeyecek, ancak bu yanıtta verilen nedenlerden dolayı çalışmayacak. Sisteminizi Python kurulumunuzu kaldırmak için SIP'yi devre dışı bırakmamanızı tavsiye ederim (bu nedenle talimatlara bağlanmadım) çünkü bu, probleminizin asıl sebebi değildir ve işlem sırasında potansiyel olarak daha fazla soruna neden olan hiçbir şeyi çözmeye yardımcı olmaz.
grg

Cevabınız bana mantıklı gelmiyor. Yukarıda verilen kalite cevaplarının hiçbiri, içindeki hiçbir şeye dokunmuyor /system. Yok = Bir Değil, Sıfır, Zip, Nada. Uygulamalar klasörünüzdeki 1) Python 3.3 klasöründe silinecek şeyler var. 2) /Library/Frameworks/Python.framework 3) ~ / usr / local / bin içindeki 20 sembolik bağlantı. 4) kabuk yolundaki referanslar (varsa). Bunlardan herhangi birinin bahsettiğin korumalara çarpacağını düşünmüyorum. Neyi kaçırıyorum?
zipzit

@zipzit Bir süre önce, Python / Library'den / System / Library'ye taşındı, böylece sistem kurulumunu kaldırmak için / System'e dokunacaksınız. Python sistemi, /System/Library/Frameworks/Python.framework adresinde / Library'de değildir.
grg

$which python /Library/Frameworks/Python.framework/Versions/2.7/bin/python $ which python3 /usr/local/bin/python3 artı python 2.3, 2.4, 2.5, 2.7 ve mevcut System/Library/Frameworks/Python.framework/Versions/...
zipzit

0

Python versiyonum 3.6 idi, 3.7'ye yükseltmek istedim (Benzer gereksinimleriniz varsa). Mac 10.12.6 sürümünü kullanıyorum ve sadece kaldırma ve yeniden yükleme benim için çalıştı:

brew uninstall --ignore dependencies python3

Sonra:

brew install python3

ve bitti:

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.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.