-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sub-dependencies of platform-specific dependencies are not added to the lockfile #4461
Comments
Lock the dependencies on non-windows platforms.
|
That's a workaround but not a great solution. If you have windows-only and linux-only dependencies, you would always have to run Also, in my case, I develop a cross-platform application but currently only have access to a Windows system. I only noticed this behavior when a user notified me that a dependency was missing. I worked around this by specifying the sub-dependency directly in the Pipfile, but that's not a great solution either. |
See my explanation in #4451 #4451 (comment) Basically, it is hard to make cross-platform dependency resolution work without failures. |
Also I would like to close this due to the duplication |
Ah, I completely missed that existing issue, apologies! |
Issue description
When a
Pipfile.lock
is created (withpipenv lock
orpipenv update
), sub-dependencies of platform specific dependencies for other platforms (e.g. those with asys_platform="!='win32'"
marker) aren't added.Users installing the project will then be missing the sub-dependency.
A similar issue was reported under #3902, but the then-proposed solution of
pipenv lock --keep-outdated
does not change this behavior.Expected result
I would expect sub-dependencies to be added with the same marker as the main dependency.
Actual result
The sub-dependencies are missing from
Pipfile.lock
.Steps to replicate
Create a project with the following
Pipfile
(adjust the platform marker to exclude your current platform):Then run
pipenv lock
.Pipfile.lock
now containspyunpack
, but not its dependencyeasyprocess
.$ pipenv --support
Pipenv version:
'2020.8.13'
Pipenv location:
'c:\\users\\chris\\appdata\\local\\programs\\python\\python38\\lib\\site-packages\\pipenv'
Python location:
'c:\\users\\chris\\appdata\\local\\programs\\python\\python38\\python.exe'
Python installations found:
It seems like
pipenv --support
still crashes while trying to enumerate the python installations, but I'm reporting this fromPython 3.8.5
.The text was updated successfully, but these errors were encountered: