2012-01-09 28 views
129

Özellikle bir gereksinim dosyasında pip'e, hem minimum sürüm (pip install package>=0.2) hem de asla yüklenmemesi gereken maksimum bir sürüm (teorik api: pip install package<0.3) içeren bir paket yüklemek için herhangi bir yol olup olmadığını merak ediyorum.Min ve maksimum sürüm aralığı ile bir paket nasıl kurulur?

Sorunu aktif geliştirme olan bir üçüncü taraf kitaplığı kullanıyorum çünkü. Pip gereksinimlerim dosyasının her zaman 0.5.x dalının en son küçük sürümünü yüklemesini istediğini belirtmek isterim, fakat piponun daha yeni sürümleri (0.6.x gibi) yüklemeye çalışmasını istemiyorum. API farklıdır. Bu önemlidir, çünkü 0.6.x şubesi kullanılabilir olsa bile, dev'ler hala 0.5.x dalına yamalar ve hata düzeltmeleri bırakıyorlar, bu yüzden gereksinimleri dosyamda statik bir package=0.5.9 satırı kullanmak istemiyorum.

Bunu yapmanın bir yolu var mı?

cevap

169

Sen yapabilirsiniz:

$ pip install "package>=0.2,<0.3" 

Ve pip versiyonunu varsayarak en az 0.2, ve 0.3 daha az, en iyi eşleşme arayacaktır.

Bu, requirements files numaralı pip için de geçerlidir. PEP 440'daki sürüm belirticilerin tüm ayrıntılarına bakın.

+0

"Paket> = 0,2, <0,3" de geçerli mi? –

+0

Evet, geçerli. Güncellenmiş cevabımı görün ve neyin geçerli ve neyin olmadığı hakkında daha fazla bilgi edinin. –

+0

Ölü bağlantı. Resmi belgeler [burada] (http://www.pip-installer.org/en/latest/logic.html#requirements-file-format). – tjameson

7

da kullanabilirsiniz: daha tutarlı ve kolay okunur

pip install package==0.5.* 

.

+1

Bu, require.txt' IMO'yu yönetmenin daha iyi bir yoludur. 'Package = = 1.2 'yerine' package == 1. * 'kullanılması, pip'in paket için büyük sürüm 2+ yüklemesini önler; bu, büyük sürüm değişikliklerinin genellikle geriye dönük olarak uyumsuz olmasından dolayı istenir. –

İlgili konular