14
A
回答
11
對於已經安裝的使用pip的python API的軟件包,這是可能的。有pip.get_installed_distributions
函數,它可以給你一個當前安裝的所有第三方包列表。
# rev_deps.py
import pip
import sys
def find_reverse_deps(package_name):
return [
pkg.project_name for pkg in pip.get_installed_distributions()
if package_name in {req.project_name for req in pkg.requires()}
]
if __name__ == '__main__':
print find_reverse_deps(sys.argv[1])
該腳本將輸出包的列表,這需要指定一個:
$python rev_deps.py requests
16
我發現亞歷山大的回答完美,但它很難複製/粘貼。這裏也是一樣,準備粘貼:
import pip
def rdeps(package_name):
return [pkg.project_name
for pkg in pip.get_installed_distributions()
if package_name in [requirement.project_name
for requirement in pkg.requires()]]
rdeps('some-package-name')
+0
感謝您對重構 – guettli
+0
爲了記錄在案,PIP沒有一個公開的API。這個回答將會是無效的。使用setuptools中的'pkg_resources'來代替。 –
相關問題
- 1. pip:安裝依賴的依賴關係
- 2. 逆向依賴
- 3. ldd是否也顯示依賴關係的依賴關係?
- 4. distutils/pip中的可選依賴關係
- 5. 利用pip的依賴關係圖
- 6. pip安裝依賴關係鏈接
- 7. pip如何找到依賴關係?
- 8. 依賴關係解決方案pip virtualenv
- 9. 顯示來自package.json的依賴關係
- 10. 顯示標記庫的依賴關係
- 11. 依賴關係的nuget依賴關係
- 12. Nuget依賴關係 - 如何顯示Linux上的NuGet的package.config依賴關係樹
- 13. mvn validate throws依賴關係收斂錯誤,但mvn依賴關係:樹不顯示依賴關係
- 14. (重新)檢查與PIP的依賴關係
- 15. 依賴關係排序與循環依賴關係的檢測
- 16. 錯誤顯示gradle依賴關係樹
- 17. Eclipse Maven未顯示依賴關係
- 18. Maven依賴關係:樹不顯示所有傳遞依賴關係
- 19. 有什麼辦法可以顯示pip包的依賴關係樹嗎?
- 20. Masterpass依賴關係與其他依賴關係發生衝突
- 21. Playbook依賴關係與角色依賴關係
- 22. CHECK_LIBRARY_EXISTS庫與依賴關係
- 23. Android依賴關係與庫
- 24. NetBeans中的Maven項目:如何向「依賴關係」和「測試依賴關係」添加依賴關係?
- 25. 安裝依賴與PIP
- 26. 顯示與外部依賴關係的計算數據
- 27. 依賴關係
- 28. m2eclipse不顯示工作區項目依賴關係,但顯示傳遞依賴關係
- 29. 層之間的逆向依賴問題
- 30. php中的定向依賴關係圖
相關:https://github.com/nvie/pip-tools – guettli