如何获取计算机上安装的 Python 模块列表?
原文由 Léo Léopold Hertz 준영 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何获取计算机上安装的 Python 模块列表?
原文由 Léo Léopold Hertz 준영 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答4.5k 阅读✓ 已解决
1 回答3.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.9k 阅读✓ 已解决
2 回答428 阅读✓ 已解决
解决方案
不要与 pip > 10.0 一起使用!
我从 Python 脚本中获得
pip freeze
列表的 50 美分:作为(太长)一个班轮:
给予:
范围
此解决方案适用于系统范围或虚拟环境范围,并涵盖由
setuptools
、pip
和( 上帝禁止)easy_install
安装的软件包。我的用例
我将此调用的结果添加到了我的烧瓶服务器,所以当我用
http://example.com/exampleServer/environment
调用它时,我得到了安装在服务器的 virtualenv 上的软件包列表。它使调试变得更加容易。注意事项
我注意到这种技术的一个奇怪行为 - 当 Python 解释器在与
setup.py
文件相同的目录中调用时,它没有列出由setup.py
安装的包。重现步骤:
创建虚拟环境
使用
setup.py
克隆一个 git repo我们有行为的
setup.py
在/tmp/behave
:从 git repo 安装 python 包
如果我们从
/tmp
运行上述解决方案如果我们从
/tmp/behave
第二个示例中缺少
behave==1.2.5a1
,因为工作目录包含behave
的setup.py
文件。我在文档中找不到对此问题的任何参考。也许我会为它打开一个错误。