2017-01-23 12 views
11

Verilen bir python paketi için ilk önce yüklemeden bir bağımlılık listesi almanın bir yolu var mı?Yüklemeden bir python kitaplığı için bağımlılıklar nasıl listelenir?

Şu anda bir gereksinim listesi alabilirim, ancak paketleri yüklemeyi gerektirir. Örneğin, ben temel gereksinimleri bilgisini göstermek için pip kullanabilirsiniz, ancak bu sürüm bilgileri içermez: Bir kütüphane gereksinimlerine çok daha iyi çıktı içerdiğini pipdeptree denilen denedim

$ pip show pytest 
Name: pytest 
Version: 3.0.6 
... 
Requires: colorama, setuptools, py 

, ama aynı zamanda yükleme gerektirir paketler

$ pipdeptree -p pytest 
pytest==3.0.6 
- colorama [required: Any, installed: 0.3.7] 
- py [required: >=1.4.29, installed: 1.4.32] 
- setuptools [required: Any, installed: 34.0.0] 
    - appdirs [required: >=1.4.0, installed: 1.4.0] 
... 

İdeal, ben pipdeptree sağladığı ayrıntı düzeyini tanınacak. Aynı zamanda, bir wheel pythonundan veya pip pypi'den bir requirements.txt dosyasını üretebilmek yeterli olacaktır.

DÜZENLEME:

Ben similar sorulara baktım. Güncelliğini yitirmiş, yükleme gerektiriyorlar veya belirli bir paket için bireysel bağımlılıklarını listelemiyorlar, bağımlılık gereksinimlerini çözdükten sonra yalnızca son indirilen paketlerin bir listesi. Örneğin, package-2.3.4 indirilen pipoyu umursamıyorum, package>=2.1'un bir gereklilik olduğunu bilmeyi tercih ederim. Eğer Conda yüklemeden sakıncası yoksa

+0

isteğe bağlıdır Neden bu -1'e sahip olduğunu anlamıyorum! Her neyse, matplotlib yüklemek için pip kullandığını farz et. Muhtemelen pip, matplotlib çalışmasını başarılı bir şekilde yapmak için ihtiyaç duyduğu kütüphanelerin sürümlerine sahip olduğunu doğrular. Bu nedenle, eğer bir soru sorduysanız size bir cevap vermesi daha olası mıdır, pip verilen herhangi bir kütüphane için hangi sürümlerin yükleneceğini biliyor mu? –

+0

@BillBell Bu sorunun cevabı bana çözümün bir parçasını verebilirdi. Gereksinimlerin belirtilmesi, python'da şu anda biraz kırılmıştır. Tekerlekler için 'METADATA' dosyasına bakabilirim ve 'Requ-Dist' bölümlerini ayrıştırabilirim. Eski "tar.gz" kaynak dağılımları için daha az açık. Ya "require.txt" dosyalarını ayrıştırmak ya da 'setup.py' dosyalarını ayrıştırmak zorundayım. Ama 'pip' ve diğer kütüphaneler zaten bunu yapıyor, bu yüzden bilgiyi almak için kullandıkları mantığı yeniden kullanabilsem iyi olurdu. –

+1

Olası çoğaltılabilir [Pip bağımlılıklarını/gereksinimlerini listelemenin bir yolu var mı?] (Http://stackoverflow.com/questions/11147667/is-there-a-way-to-list-pip-dependencies-requirements) –

cevap

0

, bu sizin için hile yapabilir:

$ conda info numpy=1.11.1 python=3.6.3 

sürümü paketinin numara veya pitonun (tüm sürümler sonra açıklanacaktır)

İlgili konular