【发布时间】:2019-12-28 05:54:50
【问题描述】:
我正在创建一个跨平台 Python 应用程序,使用 pipenv (据我所知 用于管理依赖项和虚拟环境。poetry 也有同样的问题)
在尝试在 Windows 和 Linux 上构建应用时,我注意到 Pipenv.lock 是特定于平台的。
例如,我在Windows上创建一个项目并添加pytest,它在锁定文件中有colorama和"markers": "sys_platform == 'win32'"。但是在Linux上修改锁文件的时候,比如添加一个新的lib,这个依赖就会消失。
这是两个系统的完整输出和差异https://gist.github.com/AlexP11223/6457fd4c98272c526c855c63088c00d4
它应该像那样工作吗?如果是,最好的处理方法是什么?除了将所有平台的锁定文件提交到 Git 存储库(例如 Pipenv-win.lock、Pipenv-linux.lock)并在构建时将其中一个重命名为 Pipenv.lock 之外,还有什么更好的解决方案吗?
【问题讨论】:
标签: python pip pipenv lockfile python-poetry