You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在不安装PyPI包的情况下获取其依赖要求?

可行的解决方案推荐

好问题!既然你不想触碰pip内部代码,也没法安装目标包,这里有几个比解析pip download输出更靠谱、更省心的方案:

1. 用pip index show直接提取依赖(无需额外工具)

pip本身就有一个可以查询PyPI包元数据的命令pip index show,它不需要安装目标包,还能输出结构化的JSON数据,完美适配你的需求。你可以用一行命令直接得到格式化后的依赖列表:

pip index show --json tensorflow | python -c "
import json, sys
reqs = json.load(sys.stdin)[0]['requires_dist']
print(', '.join(reqs))
"

执行后会直接返回类似astor>=0.6.0, tensorboard>=1.15.0, ...的可解析格式——完全符合你的预期,而且比解析pip download的杂乱输出稳定得多。

2. 使用PyPI元数据查询库(适合程序化集成)

如果你需要把这个功能集成到Python项目里,可以用轻量的第三方库pypi-simple(需要先安装pip install pypi-simple),它专门用来查询PyPI的包信息,代码可读性更高:

from pypi_simple import PyPISimple

# 查询tensorflow的依赖
with PyPISimple() as client:
    pkg_page = client.get_project_page("tensorflow")
    dependencies = pkg_page.requires_dist
    print(', '.join(dependencies))

这个方案比调用shell命令更灵活,适合需要在代码中处理依赖的场景。

3. 直接调用PyPI REST API(零额外依赖)

如果连第三方库都不想安装,直接用Python标准库调用PyPI的官方REST API就行,完全零额外依赖:

import urllib.request
import json

# 从PyPI拉取tensorflow的元数据
url = "https://pypi.org/pypi/tensorflow/json"
with urllib.request.urlopen(url) as response:
    pkg_data = json.load(response)
    dependencies = pkg_data['info']['requires_dist']
    print(', '.join(dependencies))

这个方案最轻量化,只要有Python环境就能运行,而且数据结构稳定,不用担心pip命令格式变化的问题。


内容的提问来源于stack exchange,提问作者mmnormyle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 04:08:33