gpt4 book ai didi

python - 如何在 Python 中找到任何包的 "import name"?

转载 作者:太空狗 更新时间:2023-10-29 17:32:30 24 4
gpt4 key购买 nike

我想知道是否有任何可靠且一致的方法来获取 Python 包的“导入名称”/命名空间。例如;

打包; django-haystack
导入名称;干草堆

打包; ipython
导入名称; IPython

到目前为止,我知道 PyPi 不会存储我用 PyPiXmlRpc 检查过的信息。

我还尝试自动下载包、解压缩并挖掘 .egg-info,但有些包根本没有该文件夹。

任何帮助将不胜感激,并将用于礼貌的小工具:)

最佳答案

轮子

我知道这是一个老问题,但是 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 并且您想知道实际的软件包名称,这可能是个问题。

关于python - 如何在 Python 中找到任何包的 "import name"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7184375/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com