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

如何在不实际安装包的前提下,获取requirements.txt中待安装包(含依赖)的明确版本requirements格式列表?

如何在不安装包的情况下生成精确版本的requirements列表

嘿,这个需求太实用了——不用实际安装任何项目依赖,就能拿到像pip freeze那样的精确版本清单对吧?我常用的方法是用pip-tools这个工具,它专门干这个事儿,完美匹配你的需求。

方法一:用pip-tools的pip-compile命令

pip-tools是pip的一套辅助工具,其中的pip-compile可以帮你解析requirements里的宽松版本约束,生成包含所有依赖精确版本的冻结文件,全程不会安装你的项目包。

步骤:

  1. 先安装pip-tools(这个工具本身需要安装,但它很轻量,不会影响你的项目环境):
pip install pip-tools
  1. 切换到你的requirements.txt所在目录,运行以下命令(如果不想覆盖原文件,可以指定输出文件名):
pip-compile requirements.txt --output-file frozen-requirements.txt
  1. 打开生成的frozen-requirements.txt,你就能看到所有包的精确版本号,格式和pip freeze完全一致,示例如下:
Django==2.2.23
asgiref==3.2.10
pytz==2021.3
sqlparse==0.4.1

这个命令会自动解析所有依赖的版本约束,找到符合你原始要求的最新可用版本,把所有直接依赖和间接依赖都列出来,完全符合你的需求。

其他备选方法(相对繁琐)

如果你实在不想安装任何工具,也可以尝试用pip 20.3+支持的--dry-run和--report参数:

pip install -r requirements.txt --dry-run --report -

这个命令会输出JSON格式的安装报告,里面包含要安装的所有包及其精确版本,但需要你自己从JSON中提取内容并整理成requirements格式,不如pip-tools直接生成的文件方便。

总之,pip-tools是最省心的方案,完全满足你“不安装项目包,拿到精确版本清单”的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 23:17:32