2013-01-12 26 views
68

Aniden, pip install varyasyon paketleri (PyObjC ve astropy dahil olmak üzere) error: option --single-version-externally-managed not recognized hatasıyla karşılaşmaya başladım. Bu hatayı daha önce hiç görmedim, ama şimdi de hiçbir şeyin değişmediği travis-ci yapılarını gösteriyor."error: option --single-version-externally managed tarafından tanınmıyor" ne anlama geliyor?

Bu hata bir tarih dağılımını gösteriyor mu? Veya setup.py'da yanlış belirtilen bir seçenek var mı? Ya da tamamen başka bir şey?

cevap

31

Yeni Güncelleme:

setuptools son sürümünü yükleyin. Hatayı hala alıyorsanız, wheel'u da yükleyin.

pip install -U setuptools 
pip install -U wheel 

Orijinal Cevap/Detaylar:

--single-version-externally-managed kolayca konağın paket yöneticisi eğer tarafından yönetilebilir bir Python paketi oluşturmak için Setuptools modülünü talimat Python paketleri için kullanılan bir seçenektir Yum veya Apt gibi gerekli.

Bu iletiyi görüyorsanız, eski bir setuptools veya Python sürümünüz olabilir. SetupTools'un daha yeni bir sürümü olan ve geriye doğru uyumlu olan Dağıtıcı'yı kullanmayı deneyin. Bu paketler zaten sahip olabilirsiniz.

https://pypi.python.org/pypi/distribute

Düzenleme: Bu noktada, ana setuptools projeye birleştirildi dağıtmak. Sadece en son setuptools sürümünü yükleyin. @wynemo'nun belirttiği gibi, dağıtım için bir sistem paketi oluşturmayı planladığınız manüel kurulumlar için daha uygun olduğu için, --egg seçeneğini kullanmak isteyebilirsiniz.

+1

Görünen hangi sürümü ekleyebilir misiniz? Ben setuptools 0.6 kullanıyorum ve pip daha yeni bir sürümü hakkında bilmiyor. 'dağıtma' sesleri doğru, ama onu içe aktaramıyorum ... – keflavich

+0

Dağıtım 'al' değilsiniz. Dağıtma, bir drop-in yerine geçer ve aynı modül adına sahiptir. Bunun için 'import setuptools' da gerekiyor. – Kelketek

+0

Yapılması gereken şey, her ikisi de yüklediyseniz, setuptools'un dağıtımı geçersiz kılmadığından emin olmaktır. Dağıtımı pip ile kurmalı ve ardından kurulum araçlarını çıkarmalısınız. Bunun işe yarayacağını hayal ediyorum. – Kelketek

132

ben bir piton paketi yükseltmeyi deneyin da zaman benim macbook bu sorun var pip sürüm 1.4.1

+9

Bu gerçekten yardımcı olan tek çözümdü. Son pip ve setuptools zaten yüklü, yine de bu hatayı seviyorum. – Michael

+0

Ben pyenv ile bu sorunu vardı ve bu düzeltildi. – glaucon

+9

Birisi, bu seçeneğin ne anlama geldiğini ve bunun neden işe yaradığını ayrıntılı olarak açıklayabilir mi? –

0

kullanmak --egg seçeneği

pip install --egg SCons 

ekleyin. OS X'de pip sürümünü kontrol ediyorum, çok eski: 1.1. Ben O zaman bu hata sabittir 1.5.6

easy_install -U pip 

için pip yükseltmek için takip cmd kullanın. Böyle

+0

Bu hatayı 1.5.6 sürümüyle bile alıyorum ... – Cerin

6

deneyin yükseltme Setuptools:

pip install --upgrade setuptools

37

wheel son pip (I 8.1.2 kullanılan) ile bu sorun giderilir yükleniyor:

pip install wheel 
+0

İsterseniz düzenlemek için geri dönebilirsiniz, sorun değil. Sabit olduğu yerde 'pip' ve 'wheel' tam sürümünü biliyorsanız, tekrar kırılmış olması durumunda söz etmeye değer olabilir. Ve ayrıca, cevap neyin olup bittiğini açıklamıyor. –

+1

Bu da benim için çalıştı (Ben de pip 8.1.2 var). –

+0

Bu artı cevap @sparrowt benim sorunum düzeltildi –

3

bu sorunu yaşıyordu. Pip önbelleğimde dosya izinleriyle ilgili bir sorun çıktı.

Eğer

The directory '/home/ubuntu/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. 
The directory '/home/ubuntu/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. 

gibi pip çıktı başında bir mesaj görürseniz aynı sorun olabilir. Pip önbelleğinizde (chown -R $(whoami) /home/ubuntu/.cache/pip gibi bir şey) doğru dosya izinlerine sahip olduğunuzdan veya bir UNIX üzerindeyseniz, pip önbellek konumunu XDG_CACHE_HOME env var ile sahip olduğunuz bir klasöre ayarlayabilirsiniz. .

+0

Şaşırtıcı bir şekilde, benim için de çalıştı (eğer paketi yüklemek için 'sudo' kullanırsanız,' -H' işaretini eklediğinizden emin olun) ! Önbellek ile komut seçenek hatası arasındaki bağlantının ne olduğunu gerçekten anlamıyorum, ama boşver. – Delgan