python - 如何找到给定 Python 发行版提供的模块?

标签 python pip

我需要构建一个模块列表,这些模块由 requirements.txt 文件中指定的 Python 发行版列表提供。发行版将首先安装,因此它们应该可以在本地进行检查。

看起来我应该能够使用 pip.req.parse_requirements 从需求文件中获取分发列表。我如何从那里找到发行版提供的模块的名称?

最佳答案

您或许可以使用内置的 pkgutil模块,如果你的 python 版本是 2.3+

例如,

import sys, pkgutil
mods = set()

#You may not need this part if you don't care about the builtin modules
print sys.builtin_module_names
for m in sys.builtin_module_names:
    if m != '__main__':
        mods.add(m)
        #mods.add(m)


for loader, name, ispkg in pkgutil.walk_packages():
    if name.find('.') == -1:
        mods.add(name)

print mods

关于python - 如何找到给定 Python 发行版提供的模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8763324/

相关文章:

python - OpenAI Gym - AttributeError : module 'contextlib' has no attribute 'nullcontext'

python - 如何在 Windows XP 上使用 pip 安装 selenium 包?

python - df = pd.read_csv ('iris.csv' ) 指向 azure blob 报告中的文件 [errno 2] 没有这样的文件或目录

python - 在不将用户名/密码存储为明文的情况下进行 AD/LDAP 查询

python - Import as 语句对不同模块的工作方式不同?

python -/usr/bin/ld : cannot find -lpython3. 6m

python - mac上安装scrapy报错

python - 在尝试了几乎所有内容后,我无法在 Windows 上安装 opencv for python

python - 如何向量化 `__call__`方法

python - BeautifulSoup 第一个 child 在 thia html 网络抓取