Рассмотрим следующие Pipfile и Pipfile.lock:
Pipfile
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true
[dev-packages]
mysqlclient = "==1.4.*"
[requires]
python_version = "3.7"
[packages]
psutil = "*"
Pipfile.lock
{
"_meta": {
"hash": {
"sha256": "8271317ad5eb8999a72772587039a102d979aa64958e2110044f70b3b0bf146a"
},
"pipfile-spec": 6,
"requires": {
"python_version": "3.7"
},
"sources": [
{
"name": "pypi",
"url": "https://pypi.org/simple",
"verify_ssl": true
}
]
},
"default": {
"psutil": {
"hashes": [
"sha256:028a1ec3c6197eadd11e7b46e8cc2f0720dc18ac6d7aabdb8e8c0d6c9704f000",
"sha256:12542c3642909f4cd1928a2fba59e16fa27e47cbeea60928ebb62a8cbd1ce123",
"sha256:503e4b20fa9d3342bcf58191bbc20a4a5ef79ca7df8972e6197cc14c5513e73d",
"sha256:863a85c1c0a5103a12c05a35e59d336e1d665747e531256e061213e2e90f63f3",
"sha256:954f782608bfef9ae9f78e660e065bd8ffcfaea780f9f2c8a133bb7cb9e826d7",
"sha256:b6e08f965a305cd84c2d07409bc16fbef4417d67b70c53b299116c5b895e3f45",
"sha256:bc96d437dfbb8865fc8828cf363450001cb04056bbdcdd6fc152c436c8a74c61",
"sha256:cf49178021075d47c61c03c0229ac0c60d5e2830f8cab19e2d88e579b18cdb76",
"sha256:d5350cb66690915d60f8b233180f1e49938756fb2d501c93c44f8fb5b970cc63",
"sha256:eba238cf1989dfff7d483c029acb0ac4fcbfc15de295d682901f0e2497e6781a"
],
"index": "pypi",
"version": "==5.6.3"
}
},
"develop": {
"mysqlclient": {
"hashes": [
"sha256:79a498ddda955e488f80c82a6392bf6e07c323d48db236033f33825665d8ba5c",
"sha256:8c3b61d89f7daaeab6aad6bf4c4bc3ef30bec1a8169f94dc59aea87ba2fabf80",
"sha256:9c737cc55a5dc8dd3583a942d5a9b21be58d16f00f5fefca4e575e7d9682e98c"
],
"index": "pypi",
"version": "==1.4.4"
}
}
}
Если я поместил их в каталог и запустилВ следующей последовательности команд я получаю два файла с хэшами sha1.
# Sync once
PIPENV_VENV_IN_PROJECT=true pipenv sync
find .venv/ -type f -print0 | xargs -0 openssl sha1 > sha1_all.txt
mv sha1_all.txt sha1_all_v1.txt
rm -rf .venv/
# Sync a second time
PIPENV_VENV_IN_PROJECT=true pipenv sync
find .venv/ -type f -print0 | xargs -0 openssl sha1 > sha1_all.txt
Если я тогда diff
sha1_all_v1.txt
и sha1_all.txt
, я наблюдаю несколько бинарных файлов, которые отличаются.
Есть ли какое-то волшебное заклинание, которое я могу использовать, чтобы сделать последовательные выходные данные сборки побитно-идентичными?