繁体   English   中英

Python 轮:相同的源代码但不同的 md5sum

[英]Python wheel: same source code but different md5sum

我们需要检查自制python包的md5sum,实际上是从生成的*.whl文件中获取的。 问题是 md5sum 在每次构建时都会发生变化,即使源代码没有变化。 此外,我们已经在第三方软件包(即 django-celery)上对此进行了测试,并获得了相同的行为。

所以问题是:

  1. 如果我们不更改源代码,会有什么不同?
  2. 是否可以为相同的 python 构建获得相同的 md5sum?

更新。

为了说明这个问题,我收到了关于两个 django-celery 构建的两个报告。 构建内容校验和完全相同(第 4 列),但 *.whl 文件本身的校验和不同。

报告链接:

https://www.dropbox.com/s/0kkbhwd2fgopg67/django_celery-3.1.17-py2-none-any2.htm?dl=0 https://www.dropbox.com/s/vecrq587jjrjh2r/django_celery-3.1.17 -py2-none-any1.htm?dl=0

引用相关的 PEP

轮子是 ZIP 格式的存档,具有特殊格式的文件名和.whl扩展名。

ZIP 档案保存每个文件的修改时间。

Wheel 存档不仅包含源代码,还包含创建存档时动态生成的其他文件和目录 因此,即使您不接触 Python 源代码,轮子仍将包含具有不同修改时间的内容。


解决此问题的一种方法是解压缩轮子并计算内容的校验和。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM