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

发布到PyPI的分布式包是否需在GitHub仓库添加requirements.txt?

关于PyPI包仓库是否需要添加requirements.txt的问题

你的核心思路是对的——不需要强制在GitHub仓库中添加requirements.txt或lock文件,包的正式依赖声明完全可以只放在pyproject.toml里,让贡献者自行管理各自的开发环境是合理的选择。不过具体可以分情况灵活处理:

  • 核心依赖必须放在pyproject.toml中
    PyPI包的依赖关系是通过pyproject.toml(或者旧版的setup.py/setup.cfg)来定义的,这是包发布后用户安装时的唯一依据。requirements.txt这类文件不会影响PyPI上的包依赖逻辑,所以正式的生产依赖必须写在pyproject.toml的[project.dependencies]区块里。

  • 可选添加辅助文件提升贡献体验
    虽然不是必须,但你可以根据团队需求添加辅助文件:

    • 比如创建requirements-dev.txt,把开发过程中需要的工具(如pytest、black、flake8等)列进去,方便贡献者一键安装开发环境;
    • 或者用pip-compile、poetry等工具生成lock文件,固定开发环境的依赖版本,避免不同贡献者因为版本差异出现兼容性问题。
      这些文件只是给开发者提供便利,不会影响包本身的发布逻辑。
  • 区分生产依赖和开发依赖
    记得在pyproject.toml里明确区分生产依赖和开发依赖:生产依赖放在[project.dependencies],开发依赖可以放在[project.optional-dependencies]的dev分组里,或者对应工具的专属区块(比如poetry的[tool.poetry.dev-dependencies]),这样用户安装你的包时不会自动安装开发相关的冗余依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 12:14:56