-
Notifications
You must be signed in to change notification settings - Fork 135
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
setup.py should not put runtime dependencies in setup_requires as it breaks pip dependency management #308
Comments
To provide a bit more context, this currently prevents installing pylxd even when all its dependencies are pinned in a
Note the
|
Signed-off-by: Patrick Decat <pdecat@gmail.com>
Signed-off-by: Patrick Decat <pdecat@gmail.com>
Thanks very much for working through this one. |
You're welcome :) |
An alternative to an expedited 2.2.7 release may be to build and publish eggs for 2.2.6 including urlllib3 1.22:
|
Hmm, supporting wheels is just a matter of installing the
|
@pdecat I'll push out 2.2.7 tomorrow - I had to do some testing against various older distros and all the lxds! |
Great, thanks! |
…anonical#309) Signed-off-by: Patrick Decat <pdecat@gmail.com>
@pdecat Just to let you know that 2.2.7 has been released with the relevant patches in it. Thanks again. |
Thanks! Issue resolved for us. |
…anonical#309) Signed-off-by: Patrick Decat <pdecat@gmail.com>
…anonical#309) (canonical#310) Signed-off-by: Patrick Decat <pdecat@gmail.com>
Install packages from PIP_PACKAGES before wheel build to be able to limit dependencies specified in "setup_requires" of packages listed in upper-constraints.txt, that pip has no way to control. This is intended to work around canonical/pylxd#308 or similar issues. Change-Id: I36bd4347727b4c7f4beea2cdba6674445fbb4ca4
Patch Set 1: See also canonical/pylxd#308 Patch-set: 1
When installing pylxd with pip, pip invokes its
setup.py
with theegg_info
command to retrieve egg metadata about pylxd (cf. https://pip.readthedocs.io/en/stable/reference/pip_install/#build-system-interface).This has the side effect of installing pylxd dependencies which currently breaks because of an incompatibility between current
requests
2.18.4 andurllib3
1.23.Example with current tarball from https://pypi.org/project/pylxd/#files:
As mentioned in several places, runtime dependencies should not be put in
setup_requires
as it breaks pip's dependency management:cf. https://pip.readthedocs.io/en/stable/user_guide/#installation-bundles
cf. https://pip.readthedocs.io/en/stable/reference/pip_install/#controlling-setup-requires
Related:
pypa/pip#1884
pypa/pip#3691
pypa/pip#4156 (comment)
psf/requests#4669
psf/requests#4671
The text was updated successfully, but these errors were encountered: