poetry.lock中files键的含义、生成原因及禁用方法咨询
Poetry.lock 中新增的
files 键详解 1. files 键是什么?
files字段用来记录对应PyPI包的所有分发文件元数据,包含每个文件的哈希值、文件名、文件类型(如wheel二进制包、sdist源码包)等信息。- 核心作用是校验包的完整性:后续执行
poetry install时,Poetry会对比下载的包文件哈希与files中记录的哈希是否一致,防止包被篡改或下载到恶意文件,提升依赖安装的安全性。
2. 为什么现在才生成?
这是Poetry版本迭代后的行为变更:
- 如果你近期升级了Poetry本身,或者安装新包版本时触发了依赖重新解析,新版本的Poetry会默认在
poetry.lock中添加files字段。 - 旧版本的Poetry没有这个特性,所以之前的lock文件不会出现该字段。
3. 能否阻止生成files键?
- 目前没有官方提供的配置项可以直接禁用
files字段的生成。 - 强行阻止的唯一方法是降级Poetry到不支持该特性的旧版本,但非常不推荐——
files是Poetry提升依赖安全性的重要更新,移除它会失去包完整性校验的能力,增加安装风险。 - 若只是在意lock文件的大量变更,建议接受这个变化:后续更新依赖时,现有包的
files字段不会频繁改动,新安装的包也会自动带上该字段,整体是向更安全的方向演进。
内容的提问来源于stack exchange,提问作者Tobias Feil
相关产品推荐
相关产品推荐

