4 ms·
Mostly. The lock file format is certainly consistent between platforms, and I've been able to install applications on windows, mac and linux. But it doesn't ha
by ben509 7y ago
Mostly. The lock file format is certainly consistent between platforms, and I've been able to install applications on windows, mac and linux.
But it doesn't handle platform-specific dependencies correctly.
For instance, `doit` has a watch feature, and it will depend on pyinotify on linux and macfsevents on Mac.
If I run pipenv lock on the Mac, it correctly generates this:
"macfsevents": {
"hashes": [
"sha256:hexhexhex..."
],
"markers": "sys_platform == 'darwin'",
"version": "==0.8.1"
},
But it won't lock the linux version. Similarly, if you lock on Linux, it throws out macfsevents. And `doit` is not doing anything strange[1] to report these extra dependencies.
[1]: https://github.com/pydoit/doit/blob/660d3a2e75dc9d861e5a8916a5723d01a14a0945/setup.py#L81 https://github.com/pydoit/doit/blob/660d3a2e75dc9d861e5a8916...