如何找到“进口名称"Python中的任何包? [英] How to find "import name" of any package in Python?

查看:22
本文介绍了如何找到“进口名称"Python中的任何包?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I wonder if is there any reliable and consistant way to get a Python package's "import name" / namespace. For example;

;django 干草堆
进口名称;干草堆

Package; django-haystack
Import name; haystack

;ipython
进口名称;IPython

Package; ipython
Import name; IPython

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

So far I know, PyPi doesn't store that information that I've checked with PyPiXmlRpc.

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

I also tried to automate to download the package, extract it and dig the .egg-info but some packages doesn't have that folder at all.

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

Any help will be appreciated and will be used for a good-manner gadget :)

推荐答案

注意这里所说的包不是包,而是发行版.一个发行版可以包含零个或多个模块或包.这意味着分发包与包之间没有一对一的映射.

Note that what you call a package here is not a package but a distribution. A distribution can contain zero or more modules or packages. That means there is no one-to-one mapping of distributions to packages.

我不确定是否有办法检测发行版将安装哪些模块和包,而不是实际安装它并检查新添加的包、模块和 pth 文件的文件系统更改.

I'm not sure there is a way to detect what modules and packages will be installed by a distribution, other than actually installing it and introspect filesystem changes for newly added packages, modules and pth files.

这篇关于如何找到“进口名称"Python中的任何包?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆