SORU
31 Ocak 2013, PERŞEMBE


Neden benim paketim eski bir sürümünü yükleme, pip?

Sadece PyPi için benim paket yeni bir sürüm (1.2.1.0-r4) yükledim: yumurta dosya yükleme ve easy_install ve sürümü dışarı doğru çek. ile bağlantı kurabiliyor Ama pip kullanarak yüklemeye çalıştığınızda, sürüm 1.1.0.0 yerine yükler. Ben bu mesajı alıyorum açıkça pip install -Iv tome==1.2.1.0-r4 pıp için sürümü belirtirseniz hatta: Requested tome==1.2.1.0-r4, but installing version 1.1.0.0, ama neden anlamıyorum.

Ben çift parse_version ile işaretli ve 1.2.1 sürüm dizesi olarak gösterilen 1.1.0: daha büyük olduğunu doğruladı

>>> from pkg_resources import parse_version as pv
>>> pv('1.1.0.0') < pv('1.2.1.0-r4')
True
>>>

1.1.0 yerine yüklemek için seçiyor mu neden böyle bir fikriniz var mı?

CEVAP
17 HAZİRAN 2013, PAZARTESİ


Bu mükemmel bir soru. Beni çözmek sonsuza kadar sürdü. Bu benim için çalışan bir çözüm

Eğer pip bulabilirse görünüşe göre, paketi yerel bir sürümünü, pip uzak olanlar için yerel sürümlerini tercih eder. Ben bile internetten bilgisayarımı ve pip hala başarıyla paketi yüklü, ve hatta, kaynağı belli ki yerel olduğunu şikayet etmedi tekrar denedim, bağlantı kesildi.

Bu gerçekten kafa karıştırıcı kısmı, benim açımdan, o pip bulunan yeni sürümleri pypi, onlara bildirdi ve sonra ileri gitti ve yeniden yüklü eski sürümü neyse ... arggh. Ayrıca, ne yaptığını ve neden bana söylemedi.

Nasıl bu sorunu çözmek mi?

pip ayrıntılı çıktı -v bayrağı kullanarak verebilir ... ama yeterli değil. -Ed ben RTFM -v birden çok kez, daha ayrıntılı çıktı için 3x kadar yapabilirsiniz dedi. Ben de öyle yaptım:

pip install -v -v -v <my_package>

Sonra çıktı, baktım. Bir satır dikkatimi çekti:

/Tmp/kaynak-yapı-kök pip/ ihtiyaç < karşılayan 0.0.11, sürüm;my_package> vardır

Sonra pip pypi en yeni sürüm yüklü olduğu dizini sildim.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 99being99

    99being99

    2 EYLÜL 2008
  • LiteralMSPaint

    LiteralMSPai

    27 EKİM 2010
  • NewsyTech

    NewsyTech

    2 AĞUSTOS 2010