gpt4 book ai didi

python - python site-packages 中的一些包不显示

转载 作者:太空宇宙 更新时间:2023-11-03 13:15:01 69 4
gpt4 key购买 nike

Python package list

这些是我的机器中显示的软件包列表。当我尝试使用以下 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")。有没有可用的选项?请在这里提供您的建议。

提前致谢:)

最佳答案

isapinot a PyPI package并且没有安装 pip。您可以看到这一 pip ,因为没有带有 .dist-info 后缀的包名称的文件夹。

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

由于您的 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 - python site-packages 中的一些包不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32872361/

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