[英]Find Python module name
软件 package 安装 Django RESTful 框架是djangorestframework
:
$ pip freeze|grep rest
djangorestframework==3.11.1
我可以通过命令找到这个软件的位置:
$ pip show djangorestframework
Name: djangorestframework
Version: 3.11.1
Summary: Web APIs for Django, made easy.
Home-page: https://www.django-rest-framework.org/
Author: Tom Christie
Author-email: tom@tomchristie.com
License: BSD
Location: /home/abc_venv/lib/python3.6/site-packages
Requires: django
Required-by:
$ cd /home/abc_venv/lib/python3.6/site-packages
我如何知道软件安装在哪个文件夹中(即要导入的模块的名称)? 在这种情况下,
rest_framework
哪个与软件package名称不同?
您可以在djangorestframework-3.12.4.dist-info/top_level.txt
文件中看到该文件夹。
我刚刚安装了djangorestframework
:
$ cat /home/abc_venv/lib/python3.6/site-packages/djangorestframework-3.12.4.dist-info/top_level.txt
rest_framework
如果你想花哨,你可以用Python来做:
import os
import site
from pathlib import Path
site_package_path = site.getsitepackages()[0] # "/home/abc_venv/lib/python3.6/site-packages"
dist_info_path = [p for p in Path(site.getsitepackages()[0]).rglob("djangorestframework-*")][0] # "/home/abc_venv/lib/python3.6/site-packages/djangorestframework-3.12.4.dist-info/"
top_level_path = os.path.join(dist_info_path, "top_level.txt")
with open(top_level_path, "r") as f:
folder_name = "\n".join(l for l in f.readlines()).strip()
print(folder_name) # "rest_framework"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.