11
有沒有辦法讓一個給定的python包的依賴項列表,而不先安裝它?如何在不安裝的情況下列出python庫的依賴關係?
我目前可以獲得需求列表,但需要安裝軟件包。例如,我可以使用畫中畫顯示基本要求的信息,但它不包括版本信息:
$ pip show pytest
Name: pytest
Version: 3.0.6
...
Requires: colorama, setuptools, py
我已經嘗試了庫調用pipdeptree
,其中包括對要求更好的輸出,但它也需要安裝的包
$ 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]
...
理想情況下,我會得到pipdeptree
提供的詳細程度。另外,能夠從python wheel
或pypi與pip
生成requirements.txt
文件也足夠了。
編輯:
我已經看了similar問題。它們或者過時,需要安裝,或者它們沒有列出單個的依賴關係對於給定的包,只有在解析依賴性需求之後的最終下載的包的列表。例如,我並不在意那個點子下載package-2.3.4
,我寧願知道package>=2.1
是一個要求。
我不知道你爲什麼得到-1!無論如何,假設你使用pip來安裝matplotlib。據推測,pip可以驗證它具有使matplotlib成功運行所需的庫版本。如果你想問,那麼它是否更有可能給你一個答案,pip如何知道爲任何給定的庫安裝哪個版本的需求? –
@BillBell對這個問題的回答會給我一部分解決方案。目前在python中指定需求有些分解。對於車輪,我可以查看'METADATA'文件並解析出'Requires-Dist'部分。對於傳統的'tar.gz'源代碼發行版,它不太清楚。我要麼必須解析'requirements.txt'文件,要麼嘗試解析'setup.py'文件。但是'pip'和其他庫已經可以做到這一點,所以如果我可以重複使用他們正在使用的任何邏輯來獲取信息,那將是非常好的。 –
[有沒有辦法列出pip依賴/需求?](http://stackoverflow.com/questions/11147667/is-there-a-way-to-list-pip-dependencies-requirements) –