-
Notifications
You must be signed in to change notification settings - Fork 3.2k
Open
Labels
C: dependency resolutionAbout choosing which dependencies to installAbout choosing which dependencies to installUX: functionality research epicTemporary label to link tickets to #8516Temporary label to link tickets to #8516type: feature requestRequest for a new featureRequest for a new feature
Description
What's the problem this feature will solve?
Puting together some packages that have by default incompatible constraints.
Indeed:
- constraints are often meant by the package maintainer as:
. "accepting complains on this known/focus set of package",
. you're on your own support if you deviate, but not necessarly bad. - packages rarely focus on the same versions of complementary packages.
==> The new resolver may create more problems than solutions, when trying to build an environment with a large set of package.
Describe the solution you'd like
Be able to ignore voluntary some constraints
Wish:
- we can put some "relax" rule to over-rule too strict packages (for our need), because we know what we want:
pip install Spyder --relax relaxrules.r, with relax file below meaning:
. if you want PyQt5, it must be 5.14.x
. if you want Jedi, it must be >=0.16
PyQt5~=5.14
Jedi>=0.16
Alternative Solutions
Today:
- I have to manually recompile from source "too strict" packages, to workaround this,
- or I would have to build one virtualenv per package,
- or I would only be able to use a specific Python distribution, with much older packages and Python version.
Additional context
Maintaining WinPython
** Current pip check **
- datasette 0.39 has requirement Jinja2~=2.10.3, but you have jinja2 2.11.2.
- astroid 2.3.3 has requirement wrapt==1.11.*, but you have wrapt 1.12.1.
** Current workaround **
- Spyder manually recompiled to accept :
. PyQt5-5.14.2 (as pip doesn't have a "long term support" of PyQt5-5.12, so the fresher version is safer)
other wishes:
- a basic GUI on Pip (tkinter or web) would still be nice, to have a better view of all the coming version conflicts.
KOLANICH, valpackett, bryant1410, RafalSkolasinski, MCMcCallum and 11 morejohnandersen777
Metadata
Metadata
Assignees
Labels
C: dependency resolutionAbout choosing which dependencies to installAbout choosing which dependencies to installUX: functionality research epicTemporary label to link tickets to #8516Temporary label to link tickets to #8516type: feature requestRequest for a new featureRequest for a new feature