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

时间:2015-12-23 14:26:06

标签: python md5sum python-wheel

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

所以问题是:

  1. 如果我们不更改源代码会有什么不同?
  2. 是否可以为相同的python版本获得相同的md5sum?
  3. UPD。

    为了说明这个问题,我在两个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

1 个答案:

答案 0 :(得分:1)

引用the relevant PEP

  

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

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

轮式存档不仅包含源代码,还包含创建存档时动态生成的other files and directories。因此,即使您不接触Python源代码,轮子仍将包含具有不同修改时间的内容。

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