python site-packages中的某些包不会显示

python site-packages中的某些包不会显示,第1张

概述这些是我的机器中显示的包列表.当我尝试使用以下python命令获取包含其版本的软件包时,我只能看到软件包jinja,jsonschema,markupsafe和matplotlib,并且缺少软件包“isapi”. >>> import pip>>> ["%s==%s" % (i.key, i.version) for i in pip.utils.pkg_resources.working_se

这些是我的机器中显示的包列表.当我尝试使用以下python命令获取包含其版本的软件包时,我只能看到软件包jinja,Jsonschema,markupsafe和matplotlib,并且缺少软件包“isAPI”.

>>> import pip>>> ["%s==%s" % (i.key,i.version) for i in pip.utils.pkg_resources.working_set]

结果/输出:

['jinja2==2.7.3','Jsonschema==2.5.1','markupsafe==0.23','matplotlib==1.4.3']

我的要求是在列表中也得到(“isAPI”).有没有可用的选择?请在此提供您的建议.

提前致谢 :)

解决方法 isAPI是 not a PyPI package,没有安装pip.您可以看到这一点,因为没有带有.dist-info后缀的包名称的文件夹.

.dist-info folders1由pip创建,作为安装过程的一部分,用于存储有关PyPI包的元信息.它们基本上包含有关包的所有信息,您也可以在PyPI网站上找到它们.在这些文件夹旁边,pip将为实际包添加一个包含真实包名称的真实包名称2.

由于你的isAPI文件夹显然不是来自PyPI包,它来自另一个来源.例如,这可以是一个外部设置实用程序,只需在其中安装该文件夹即可.也可能是一个不同的PyPI包将文件夹作为依赖项安装(虽然不是你的包的情况).我建议查看文件夹和python模块,以了解它的作用以及它可能来自何处.

无论如何,因为它没有安装pip,pip显然不知道它.因此它不会出现在包列表中.

不幸的是,没有其他好方法可以通过编程方式找到该模块.一种可能的方法是简单地获取site-packages文件夹的目录列表并以这种方式处理模块.您还可以使用pkgutil module获取所有模块的列表(包括内置模块)并筛选出site-packages文件夹中的模块.但除此之外,没有其他“注册”或其他东西可以跟踪该文件夹中的内容.如果你考虑一下,就不可能有一个,因为你总是可以自己放一个新的文件夹.

脚注:

1 .dist-info文件夹是用PEP 376发明的,用于统一分发管理方式.

2 Python包不需要像PyPI包一样拼写.这允许在PyPI包的名称中使用自定义大小写(因为Python包应该是小写的),甚至是不同的名称.例如,Beautiful Soup 4的PyPI包名称是beautifulsoup4,但Python包名称为bs4.

总结

以上是内存溢出为你收集整理的python site-packages中的某些包不会显示全部内容,希望文章能够帮你解决python site-packages中的某些包不会显示所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1193466.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存