gpt4 book ai didi

python - 如何查找特定模块的包名称?

转载 作者:行者123 更新时间:2023-12-05 01:11:38 25 4
gpt4 key购买 nike

如果我们有 python 代码,但在运行代码之前没有关于通过 pip 安装哪些包的说明,我们运行它:

import inception5h

ERROR: Could not find a version that satisfies the requirement inception5h (from versions: none)
ERROR: No matching distribution found for inception5h

猜测是否安全 - 即尝试 pip install inception5hpip install inception 之类的方法?

我假设在没有关于安装哪个包的具体说明的情况下,我们只是在猜测,因为(我认为)任何包理论上都可以有任何名称的模块(也就是说,可能有许多包带有一个名为inception5h).

这种理解正确吗?有没有什么聪明的方法可以确定需要安装哪个包,最好不用猜测?

最佳答案

2021 年 5 月更新

现在使用 importlib_metadata.packages_distributions() 应该相对简单。

请参阅此处的文档:https://importlib-metadata.readthedocs.io/en/stable/using.html#package-distributions


原答案

据我所知,当您只有导入包(或模块)的名称。如 this answer 中所述例如(由 @hoefling 在对您问题的评论中链接)。

显然每个分发包有1个顶级可导入包(或模块>) 同名。

因此,例如 pip install requests 允许您编写 Python 代码 import requests

但这只是一个约定,显然有异常值:

  • 有些有多个顶级 可导入包,例如setuptools :
    • pip 导入设置工具
    • import setuptoolsimport pkg_resources
  • 有些名称完全不同,例如项目 Beautiful Soup :

在这种情况下,我想我可能会尝试在网络搜索引擎中查找导入包的名称,并希望找到一些导致名称的结果分发包

关于python - 如何查找特定模块的包名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62834928/

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