Pip-tools: Unexpected incompatible dependencies

Created on 18 Dec 2020  路  3Comments  路  Source: jazzband/pip-tools

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 https://github.com/jtpio/jupyterlab-classic/issues/56)

resolver

Most helpful comment

@anotinelg see #1190 and #1298

All 3 comments

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 (https://github.com/pypa/pip/issues/988) this issue will be fixed.

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

@anotinelg see #1190 and #1298

Was this page helpful?
0 / 5 - 0 ratings