首页/开发/CI/CD 与发布速查/Python 依赖锁定
构建与制品管理58 条

Python 依赖锁定

用 pip-tools / Poetry / uv 等生成含全部传递依赖与哈希的锁文件;CI 按锁安装,升级走显式产物变更。

CI/CD 与发布速查开发更新于 2026-10-12
工具pip-tools(requirements.in → requirements.txt)、Poetry(poetry.lock)、uv(uv.lock)
哈希pip 的 --require-hashes 可校验每个分发件
规则声明(in/pyproject)与锁定(lock/txt)分离

pip-tools 流程

pip-tools 流程
pip-compile requirements.in -o requirements.txt
pip install --require-hashes -r requirements.txt
锁文件跨平台注意环境标记:不同操作系统可能解析出不同闭包,按目标平台生成。

易错点

  • 只钉直接依赖:传递依赖仍漂移,用编译型锁定覆盖全集
  • 锁文件长期不更新:漏洞修复无法进入,配合更新机器人定期批量升级

数据来源与参考

  • pip-tools 文档
  • Poetry 文档《Lock file》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌