-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Open
Labels
Description
We have a project that is build on Linux, MacOS and Windows. On Linux, desktop integration use PyGObject, others work differently, so there was no need to install it on other platforms. So we put this into our Pipfile
:
PyGObject = {version = "*", sys_platform = "=='linux'"}
Strangely pipenv
was trying to install its dependencies on all platforms. After some trial and errors, this helped:
PyGObject = {version = "*", markers="sys_platform == 'linux'"}
I made replication of this issue using GitHub Actions and indeed, sys_platform = "=='linux'"
and markers="sys_platform == 'linux'"
versions behave differently. The first one is downloading requests on other platforms and installing its dependencies (though not intstalling requests themselves):
- Action: https://github.com/ChaoticRoman/pipenv-bug-demo/actions/runs/5999659742/job/16270232399#step:5:30
- Tree: https://github.com/ChaoticRoman/pipenv-bug-demo/tree/827bdfe35d71f4bccb0e75bcd954d9bb74af8497
but the second one is not, it is working as you would expect (no unneeded downloads or deps installed):
- Action: https://github.com/ChaoticRoman/pipenv-bug-demo/actions/runs/5999721010/job/16270408255#step:5:29
- Tree: https://github.com/ChaoticRoman/pipenv-bug-demo/tree/e2a2f9616fab3cfeffd2025803b0dd91553f8c4e
Is this expected?