在分析requirements.txt之后,假设这是pip模块的列表:
>>> modules_req = ['beautifulsoup4','django-nose','ujson']
>>> for module in modules_req:
... __import__(module)
...
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
ImportError: No module named beautifulsoup4
例如,如何检索这些模块的导入名称,即
bs4
表示beautifulsoup4
,而django_nose
表示django-nose
? 最佳答案
我不确定这是您真正想要做的,但是对于已安装的软件包,您可能会从查询pkg_resources
软件包信息中获得一些好处:
$ pip freeze
beautifulsoup4==4.4.1
是的。
>>> import pkg_resources
>>> list(
pkg_resources
.get_distribution('beautifulsoup4')
._get_metadata('top_level.txt')
)
['bs4']