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

使用pyproject.toml时是否仍需requirements.txt?固定依赖该存于何处?

pyproject.toml时代,固定依赖该放哪?

核心结论:规则没本质变化,分场景处理就行

1. 库项目(给其他开发者用的包)

  • 依然在pyproject.toml的[project]区块下的dependencies字段里写带版本范围的依赖约束,比如requests>=2.25.0,<3。这么做是为了让你的库能和其他依赖同一包的项目兼容,避免版本冲突。
  • 固定版本的依赖不需要写进pyproject.toml,你可以自己维护requirements-dev.txt来存开发、测试用的固定版本(比如CI环境、本地调试),但这只供内部使用,不用对外发布。

2. 部署/应用项目(自己运行的服务、脚本等)

  • 继续用requirements.txt存完全固定的依赖版本(比如requests==2.31.0)就行,pip install -r requirements.txt的用法完全兼容,生态支持也最成熟。
  • 如果你想统一用pyproject.toml,可以自己加自定义字段(比如[tool.pinned-requirements])来放固定依赖,但官方没有专门的标准章节,这种方式需要自己写脚本或者用第三方工具(比如pip-tools)解析安装。相比之下,requirements.txt还是更省心的选择。

官方文档相关说明

Python打包官方文档里,针对应用部署的固定依赖,依然推荐用锁定文件的方式:除了手动维护的requirements.txt,也可以用pip-compile生成的锁定版requirements.txt,或者poetry、pipenv这类工具生成的poetry.lock、Pipfile.lock。但如果是纯setuptools+pyproject.toml的轻量场景,requirements.txt依然是官方认可的固定依赖存放方案。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 07:35:18