跨平台 Pipenv.lock

Sta*_*tav 5 python cross-platform pipenv

我的存储库中有一个“跨平台”Pipfile.lock文件,即包含以下条目:

"ptyprocess": {
    "hashes": [
        "sha256:923f299cc5ad920c68f2bc0bc98b75b9f838b93b599941a6b63ddbc2476394c0",
        "sha256:d7cc528d76e76342423ca640335bd3633420dc1366f258cb31d05e865ef5ca1f"
    ],
    "markers": "os_name != 'nt'",
    "version": "==0.6.0"
},
Run Code Online (Sandbox Code Playgroud)

这非常适合pipenv sync- 即当在 Windows 上运行时它不会安装ptyprocess,而当在 Linux 上运行时它会安装。但是,如果我pipenv install在 Windows 上安装新包,它会在锁定时删除上述条目Pipfile.lock。如果随后将锁定文件签入源代码管理(通常建议)并且 Linux 用户运行pipenv sync,则所需的包将不再存在。

这是期望的行为吗pipenv?如果是这样为什么?管理上述跨平台案例的正确方法是什么?