如何查找Python第三方包对应的可导入模块名?以djangorestframework为例
查询Python第三方包对应导入名的方法
下面是几个可直接使用的可靠方法,按便捷度排序:
方法1:一行Python命令直接查询(推荐)
Python 3.8及以上版本自带对应工具,无需额外安装依赖,命令模板如下:python -c "from importlib.metadata import packages_distributions; print([k for k,v in packages_distributions().items() if '<替换为你的安装包名>' in v])"Python 3.7及更低版本可以先执行
pip install importlib_metadata,再用下面的命令:python -c "from importlib_metadata import packages_distributions; print([k for k,v in packages_distributions().items() if '<替换为你的安装包名>' in v])"以djangorestframework为例,运行命令后输出如下:
['rest_framework']输出列表里的内容就是可导入的模块名。如果列表有多个值,说明该安装包提供了多个可导入模块,所有列出的名称都可以直接导入使用。
方法2:用pip自带功能查询
先执行pip show <安装包名>获取包的安装路径,对应返回结果的Location字段:$ pip show djangorestframework Name: djangorestframework Version: 3.11.1 Summary: Web APIs for Django, made easy. License: BSD Location: /home/abc_venv/lib/python3.6/site-packages Requires: django进入
Location对应的目录,查找和该包相关的顶层文件夹或者独立.py文件,文件名(文件夹名或者去掉.py后缀的文件名)就是可导入的模块名。
也可以直接执行pip show -f <安装包名>直接列出包的所有文件,不用进入目录就能看到顶层文件/文件夹名称。
内容的提问来源于stack exchange,提问作者techie11
相关产品推荐
相关产品推荐

