3

自作の python パッケージの md5sum を確認する必要があり、実際には結果*.whlファイルから取得します。問題は、ソース コードに変更がなくても、ビルドごとに md5sum が変更されることです。また、これをサードパーティのパッケージ、つまり django-celery でテストしたところ、同じ動作が得られました。

質問は次のとおりです。

  1. ソースコードを変更しないと何が違うのですか?
  2. 同じ Python ビルドで同じ md5sum を取得することは可能ですか?

更新。

この問題を説明するために、2 つの django-celery ビルドで作成された 2 つのレポートを取得します。ビルド コンテンツのチェックサムはまったく同じですが (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

4

1 に答える 1

1

関連する PEP の引用:

wheel は、特別な形式のファイル名と拡張子を持つ ZIP 形式のアーカイブです.whl

ZIP アーカイブは、各ファイルの変更時刻を保持します。

Wheel アーカイブには、ソース コードだけでなく、アーカイブの作成時にオンザフライで生成される他のファイルやディレクトリも含まれます。したがって、Python ソース コードに手を加えなくても、ホイールには変更時刻が異なるコンテンツが含まれます。


この問題を回避する 1 つの方法は、ホイールを解凍し、コンテンツのチェックサムを計算することです。

于 2015-12-23T14:52:23.760 に答える