在解析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
?
答案 0 :(得分:4)
我不确定这是你真正想做的事情,但对于已安装的软件包,您可能会因查询软件包信息pkg_resources
而获得一些好处:
$ pip freeze
beautifulsoup4==4.4.1
>>> import pkg_resources
>>> list(
pkg_resources
.get_distribution('beautifulsoup4')
._get_metadata('top_level.txt')
)
['bs4']