Bazı Python kitaplıklarını paketlemek ve yüklemek için virtualenv ile pip kullanıyorum.
Yaptığım şeyin oldukça yaygın bir senaryo olduğunu hayal ediyorum. Bağımlılıklarını açıkça belirleyebileceğim birkaç kitaplığın bakımcısıyım. Kütüphanelerimden birkaçı, üzerinde kontrolüm olmayan geçişli bağımlılıkları olan üçüncü taraf kitaplıklara bağımlı.
Başarmaya çalıştığım şey, pip install
kütüphanelerimden birinin tüm yukarı akış bağımlılıklarını indirmesi / yüklemesidir. Pip dokümantasyonunda uğraştığım şey, gereksinim dosyalarının bunu kendi başlarına yapıp yapamayacakları / nasıl yapabilecekleri veya gerçekten kullanmanın bir eki olup olmadıklarıdır install_requires
.
Kullandığım misiniz install_requires
bir çatışmayı çözmek ve / veya üretim yapı için bunları dondurmak için bağımlılıkları ve sürüm aralıklarını belirlemek için benim kütüphanelerin hepsi ve daha sonra sadece bir gereklilik dosyasını kullanmak?
Hayali bir dünyada yaşadığımı varsayalım (biliyorum, biliyorum) ve yukarı akış bağımlılıklarım basittir ve asla çatışmayacak veya geriye dönük uyumluluğu bozmayacaktır. Bir pip gereksinimleri dosyası kullanmaya mecbur kalacak mıyım yoksa sadece pip / setuptools / distribute'un her şeyi temel alarak yüklemesine izin verecek install_requires
miyim?
Burada pek çok benzer soru var, ancak birini veya diğerini ne zaman kullanacağım veya ikisini birlikte uyumlu bir şekilde kullanacağım kadar basit bir soru bulamadım.