我想知道是否有任何可靠且一致的方法来获取Python包“导入名称”/命名空间。例如;
Package; Django 干草堆
导入名称;草垛
or
Package;蟒蛇
导入名称; Python
到目前为止我知道,PyPi 不存储我用 PyPiXmlRpc 检查过的信息。
我还尝试自动下载包、解压并挖掘 .egg-info,但有些包根本没有该文件夹。
任何帮助将不胜感激,并将用于一个好的小工具:)
Wheels
我知道这是一个老问题,但是wheel包装从此被发明!自从一个wheel只是一个提取到 lib/site-packages 目录中的 zip 文件,检查 Wheel 存档的内容可以为您提供顶级导入。
>>> import zipfile
>>> zf = zipfile.ZipFile('setuptools-35.0.2-py2.py3-none-any.whl')
>>> top_level = set([x.split('/')[0] for x in zf.namelist()])
>>> # filter out the .dist-info directory
>>> top_level = [x for x in top_level if not x.endswith('.dist-info')]
>>> top_level
['setuptools', 'pkg_resources', 'easy_install.py']
所以 setuptools 实际上为您提供了三个顶级导入!
点下载
pip 现在有一个下载命令,因此您只需运行pip download setuptools
(或任何你喜欢的包)然后检查它。
反向查找
不幸的是,我还没有找到一种简单的方法来走向另一个方向。也就是说,给定导入名称,包名称是什么。如果您正在查看一些示例代码,或者如果您使用预装了一堆软件包的 Anaconda 并且您想知道实际的软件包名称,这可能会成为问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)