Skip to content
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

Unexpected incompatible dependencies #1277

Closed
astrojuanlu opened this issue Dec 18, 2020 · 5 comments
Closed

Unexpected incompatible dependencies #1277

astrojuanlu opened this issue Dec 18, 2020 · 5 comments
Labels
bug Something is not working resolver Related to dependency resolver

Comments

@astrojuanlu
Copy link
Contributor

Environment Versions

  1. OS Type: Linux Mint 20
  2. Python version: $ python -V: Python 3.8.5
  3. pip version: $ pip --version: pip 20.3.3 from /home/juanlu/.pyenv/versions/_nbs38/lib/python3.8/site-packages/pip (python 3.8)
  4. pip-tools version: $ pip-compile --version: pip-compile, version 5.4.0

Steps to replicate

  1. echo 'jupyterlab==3.0.0rc13' > requirements.in
  2. pip-compile
  3. 💥

Expected result

Set of constraints that work:

#
# This file is autogenerated by pip-compile
# To update, run:
#
#    pip-compile
#
argon2-cffi==20.1.0       # via notebook
async-generator==1.10     # via nbclient
attrs==20.3.0             # via jsonschema
babel==2.9.0              # via jupyterlab-server
backcall==0.2.0           # via ipython
bleach==3.2.1             # via nbconvert
certifi==2020.12.5        # via requests
cffi==1.14.4              # via argon2-cffi
chardet==4.0.0            # via requests
decorator==4.4.2          # via ipython
defusedxml==0.6.0         # via nbconvert
entrypoints==0.3          # via nbconvert
idna==2.10                # via requests
ipykernel==5.4.2          # via notebook
ipython-genutils==0.2.0   # via jupyter-server, nbformat, notebook, traitlets
ipython==7.19.0           # via ipykernel, jupyterlab
jedi==0.17.2              # via ipython
jinja2==2.11.2            # via jupyter-server, jupyterlab, jupyterlab-server, nbconvert, notebook
json5==0.9.5              # via jupyterlab-server
jsonschema==3.2.0         # via jupyterlab-server, nbformat
jupyter-client==6.1.7     # via ipykernel, jupyter-server, nbclient, notebook
jupyter-core==4.7.0       # via jupyter-client, jupyter-server, jupyterlab, nbconvert, nbformat, notebook
jupyter-server==1.0.11    # via jupyterlab, jupyterlab-server, nbclassic
jupyterlab-pygments==0.1.2  # via nbconvert
jupyterlab-server==2.0.0rc7  # via -r requirements.in, jupyterlab
jupyterlab==3.0.0rc13     # via -r requirements.in
markupsafe==1.1.1         # via jinja2
mistune==0.8.4            # via nbconvert
nbclassic==0.2.4          # via -r requirements.in, jupyterlab
nbclient==0.5.1           # via nbconvert
nbconvert==6.0.7          # via jupyter-server, notebook
nbformat==5.0.8           # via jupyter-server, nbclient, nbconvert, notebook
nest-asyncio==1.4.3       # via nbclient
notebook==6.1.5           # via nbclassic
packaging==20.8           # via bleach, jupyterlab, jupyterlab-server
pandocfilters==1.4.3      # via nbconvert
parso==0.7.1              # via jedi
pexpect==4.8.0            # via ipython
pickleshare==0.7.5        # via ipython
prometheus-client==0.9.0  # via jupyter-server, notebook
prompt-toolkit==3.0.8     # via ipython
ptyprocess==0.6.0         # via pexpect, terminado
pycparser==2.20           # via cffi
pygments==2.7.3           # via ipython, jupyterlab-pygments, nbconvert
pyparsing==2.4.7          # via packaging
pyrsistent==0.17.3        # via jsonschema
python-dateutil==2.8.1    # via jupyter-client
pytz==2020.4              # via babel
pyzmq==20.0.0             # via jupyter-client, jupyter-server, notebook
requests==2.25.1          # via jupyterlab-server
send2trash==1.5.0         # via jupyter-server, notebook
six==1.15.0               # via argon2-cffi, bleach, jsonschema, python-dateutil
terminado==0.9.1          # via jupyter-server, notebook
testpath==0.4.4           # via nbconvert
tornado==6.1              # via ipykernel, jupyter-client, jupyter-server, jupyterlab, notebook, terminado
traitlets==5.0.5          # via ipykernel, ipython, jupyter-client, jupyter-core, jupyter-server, nbclient, nbconvert, nbformat, notebook
urllib3==1.26.2           # via requests
wcwidth==0.2.5            # via prompt-toolkit
webencodings==0.5.1       # via bleach

# The following packages are considered to be unsafe in a requirements file:
# setuptools

Created with this requirements.in:

jupyterlab==3.0.0rc13
nbclassic<0.2.5
jupyterlab-server<2.0.0rc8

Actual result

$ cat requirements.in 
jupyterlab==3.0.0rc13
#nbclassic<0.2.5
#jupyterlab-server<2.0.0rc8
$ pip-compile
Could not find a version that matches jupyter-server~=1.0.1,~=1.1.0 (from jupyterlab==3.0.0rc13->-r requirements.in (line 1))
Tried: 0.0.1, 0.0.1, 0.0.2, 0.0.2, 0.0.3, 0.0.3, 0.0.4, 0.0.4, 0.0.5, 0.0.5, 0.1.0, 0.1.0, 0.1.1, 0.1.1, 0.2.0, 0.2.0, 0.2.1, 0.2.1, 0.3.0, 0.3.0, 1.0.0, 1.0.0, 1.0.1, 1.0.1, 1.0.2, 1.0.2, 1.0.3, 1.0.3, 1.0.4, 1.0.4, 1.0.5, 1.0.5, 1.0.6, 1.0.6, 1.0.7, 1.0.7, 1.0.8, 1.0.8, 1.0.9, 1.0.9, 1.0.10, 1.0.10, 1.0.11, 1.0.11, 1.1.0, 1.1.0, 1.1.1, 1.1.1
Skipped pre-versions: 1.0.0rc0, 1.0.0rc0, 1.0.0rc1, 1.0.0rc1, 1.0.0rc2, 1.0.0rc2, 1.0.0rc3, 1.0.0rc3, 1.0.0rc4, 1.0.0rc4, 1.0.0rc5, 1.0.0rc5, 1.0.0rc6, 1.0.0rc6, 1.0.0rc7, 1.0.0rc7, 1.0.0rc8, 1.0.0rc8, 1.0.0rc9, 1.0.0rc9, 1.0.0rc10, 1.0.0rc10, 1.0.0rc11, 1.0.0rc11, 1.0.0rc12, 1.0.0rc12, 1.0.0rc13, 1.0.0rc13, 1.0.0rc14, 1.0.0rc14, 1.0.0rc15, 1.0.0rc15, 1.0.0rc16, 1.0.0rc16
There are incompatible versions in the resolved dependencies:
  jupyter-server~=1.1.0 (from jupyterlab-server==2.0.0rc9->jupyterlab==3.0.0rc13->-r requirements.in (line 1))
  jupyter-server~=1.1 (from nbclassic==0.2.5->jupyterlab==3.0.0rc13->-r requirements.in (line 1))
  jupyter-server~=1.0.1 (from jupyterlab==3.0.0rc13->-r requirements.in (line 1))

Notice that pip install "jupyterlab==3.0.0rc13" works, even with the new dependency resolver. Also, pip check reports no broken packages.

(Comes from jupyterlab/retrolab#56)

@atugushev
Copy link
Member

Hello @astrojuanlu,

Thanks for the report! Currently, pip-tools doesn't have a proper deps resolver, but I believe as soon as we adopt the new pip's resolver (pypa/pip#988) this issue will be fixed.

@atugushev atugushev added the resolver Related to dependency resolver label Dec 30, 2020
@anotinelg
Copy link

Hello @astrojuanlu,

Thanks for the report! Currently, pip-tools doesn't have a proper deps resolver, but I believe as soon as we adopt the new pip's resolver (pypa/pip#988) this issue will be fixed.

Hi @atugushev do you have an ETA on the adoption of the new pip's resolver? Thanks

@astrojuanlu
Copy link
Contributor Author

@anotinelg see #1190 and #1298

@atugushev
Copy link
Member

@anotinelg #1539 adds for pip's 2020 dependency resolver support and fixes the issue

@atugushev atugushev added the bug Something is not working label Feb 23, 2022
@atugushev
Copy link
Member

This has been fixed in #1539 with the backtracking resolver, try pip-compile --resolver backtracking. The resolver is released as part of pip-tools v6.8.0. Please let us know if it doesn't resolve your issue. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something is not working resolver Related to dependency resolver
Projects
None yet
Development

No branches or pull requests

3 participants