Pipenv - разные версии генерируют разные файлы.lock, даже если они используют одну и ту же версию Python
Кто-то со взрослым pipenv
генерирует следующий файл Pipfile.lock:
{
"_meta": {
"hash": {
"sha256": "d017852af1dc7aef716e0a54e20b443ae5d510ae837a079e783d42183749d163"
},
"host-environment-markers": {
"implementation_name": "cpython",
"implementation_version": "3.5.4",
"os_name": "nt",
"platform_machine": "AMD64",
"platform_python_implementation": "CPython",
"platform_release": "2012ServerR2",
"platform_system": "Windows",
"platform_version": "6.3.9600",
"python_full_version": "3.5.4",
"python_version": "3.5",
"sys_platform": "win32"
},
Однако, когда я (с более новой версией pipenv) делаю pipenv install
, файл.lock перезаписывается. Из моего понимания, pipenv.lock
должен быть в VC и не должен быть перезаписан при извлечении... но если бы я зафиксировал свою версию .lock
мой коллега всегда будет перезаписывать файл. И наоборот, если мы фиксируем его версию, даже если мы используем точно такую же версию Python.
Похоже, это потому, что он использует версию pipenv, более раннюю, чем исправление для этой проблемы: https://github.com/pypa/pipenv/issues/753
Это, кажется, ломает весь смысл pipenv!
В идеале я должен иметь возможность указать версию pipenv
внутри pipfile
сам, так что этого не произойдет. Я хотел бы сделать так, чтобы версии Pipenv, которые вносят это изменение в Pipfile.lock
просто потерпит неудачу и в идеале намекнет, что другая версия pipenv
является необходимым.
Возможно ли это, или есть другое решение этой проблемы?