2015-06-15 15 views
7

Mac ile birlikte gelen varsayılan sürüm dışında OS X 10.10'daki tüm python sürümlerini temiz bir şekilde kaldırmanın bir yolunu arıyorum. Nasıl devam ederim?Tüm python sürümleri nasıl kaldırılır ve OS X 10.10'un varsayılan sistem sürümü nasıl kullanılır?

Şimdilik biraz tuhaf davranışım var. which -a python yazarak zaman aşağıdaki çıktıyı almak:

/Users/harisfawad/anaconda/bin/python 
/Library/Frameworks/Python.framework/Versions/2.7/bin/python 
/usr/local/bin/python 
/usr/bin/python 

Neden /System/Library/.../ içinde piton varsayılan sürümü burada görünmüyor? Bu sürümü Finder'da bulabilirim, bu yüzden silinmediğini biliyorum.

Ayrıca echo $PYTHONPATH tamamen boş döner.

Tüm bu klasörleri silip silebilir ve varsayılan sürümün düzgün çalışmasını bekleyebilir miyim?

Ben http://bugs.python.org/issue7107 burada da benzer bir soruşturma okudum ama bu piton sürümleri 2.7/3.4 hala geçerli olup olmadığından emin değilim.

Bu benzer bir soru How to uninstall Python 2.7 on a Mac OS X 10.6.4? Ancak yine de, dikkatsiz olmak istemiyorum ve sistemin sağlanan sürümü çalıştığından emin olmak için kaldırma işlemini yapmak istemiyorum.

GÜNCELLEME:brew doctor çalışan bu Warning: "config" scripts exist outside your system or Homebrew directories. olsun Ve /.../anaconda/bin ve /Library/.../bin yılında "yapılandırma" dosyalarını listeleyen devam ediyor.

Update2: başarıyla geri /usr/bin/python dışında çöp kutusuna taşınacak nerede OS X'te pitonun Yukarıdaki tüm sürümlerini dahil piton varsayılan sürümüne gittin. Teşekkürler @rhashimoto ve @PadraicCunningham! (Aynı dosyaya sabit bağlantı olup /usr/bin/pythonw,)

+0

Yüklediğiniz herhangi bir sürümü sorunsuz bir şekilde kaldırabilirsiniz, sistem python'unuzla çalışmak için pip'leri yeniden yüklemeniz gerekebilir, sadece sisteminize bir şey yapmadığınızdan emin olun python –

+0

Tamam. Fakat sistem pythonunun konumunun diğer yüklü sürümlerle birlikte görünmemesinin bir nedeni var mı? – harisf

+0

ls -l/usr/bin/python' nedir? –

cevap

3

dosya /usr/bin/python aslında /System/Library/Frameworks/Python.framework/Versions gelen Python varsayılan sürümünü çağırır bir başlatıcısı programıdır. select the version (2.6 ve 2.7, Yosemite'de), başlatıcı defaults komutunu veya VERSIONER_PYTHON_VERSION ortam değişkenini kullanarak çağırır. el belirli bir sürümünü çalıştırmak istiyorsanız

, sen /System/Library/Frameworks/Python.framework/Versions içine sembolik bağlantılar /usr/bin/python2.6 veya /usr/bin/python2.7, çağırabilirsiniz. (Eğer biri olduğunu nasıl aldığını emin değilim)

Sen /Library/Frameworks/Python.framework/Versions/2.7/bin/python dahil size yolundan listelemek tüm diğer Python uygulamaları, çıkarmadan ince olmalıdır. Değişikliklerinizi kalıcı olarak silmeden önce sınamak için onları bir yere taşımak (örneğin, çöp klasörünüz) hala akıllıca olacaktır.

+0

Tamam, python'un yukarıdaki sürümlerini çöp kutusuna taşıdım. Şimdi '' python'' sadece '/ usr/bin/python' döndürür, ki sanırım her şey varsayılan olarak geri döndü.Bunun,/System/... 'deki python sürümünün sembolik bir bağlantısı olduğunu açıkladığınız için teşekkür ederiz. 'python' yazarak şimdi darwin'deki varsayılan sürümü başlatıyor. Ancak, "echo $ PYTHONPATH" hala bir boşluk döndürüyor. Bunun ne anlama geldiği hakkında bir fikrin var mı? – harisf

+0

['PYTHONPATH'] (https://docs.python.org/2/using/cmdline.html#envvar-PYTHONPATH) varsayılan modül arama yolunu genişletir. İstediğinize ayarlayabilirsiniz (eğer ayarlamazsanız o zaman boş olacaktır). Geçerli yolun ne olduğunu görmek isterseniz, ['sys.path'] 'a erişebilirsiniz (http://stackoverflow.com/questions/5751292/how-to-get-current-import-paths-in-python) . – rhashimoto

+0

"/ usr/bin/python" sembolik bir bağlantı olduğunu söylemediğimi unutmayın. Seçilen varsayılan sürümün ne olduğunu kontrol eden ve daha sonra bu sürümü çağırdığı küçük bir başlatıcı programdır. – rhashimoto