Closed elcolie closed 5 years ago
Hello @elcolie,
Could you give the output of pip-compile graph.in -o graph.txt --verbose
please?
Thanks!
$ pip-compile graph.in -o graph.txt --verbose
Using indexes:
https://pypi.org/simple
ROUND 1
Current constraints:
ipython-cypher
networkx
pandas
plotly
py2neo
python-igraph
Finding the best candidates:
found candidate ipython-cypher==0.2.6 (constraint was <any>)
found candidate networkx==2.2 (constraint was <any>)
found candidate pandas==0.23.4 (constraint was <any>)
found candidate plotly==3.3.0 (constraint was <any>)
found candidate py2neo==4.1.0 (constraint was <any>)
found candidate python-igraph==0.7.1.post6 (constraint was <any>)
Finding secondary dependencies:
ipython-cypher==0.2.6 requires ipython>=1.0, neo4jrestclient>=2.1.0, prettytable
plotly==3.3.0 requires decorator>=4.0.6, nbformat>=4.2, pytz, requests, retrying>=1.3.3, six
py2neo==4.1.0 requires click>=2.0, colorama, ipykernel, jupyter_client, jupyter_console, neo4j-driver<1.7,>=1.6, neotime, prompt_toolkit==1.0.15, pygments>=2.0, pytest, traitlets>=4.1.0, urllib3[secure]<1.23,>=1.21.1
python-igraph==0.7.1.post6 requires -
pandas==0.23.4 requires numpy>=1.9.0, python-dateutil>=2.5.0, pytz>=2011k
networkx==2.2 requires decorator>=4.3.0
New dependencies found in this round:
adding ['click', '>=2.0', '[]']
adding ['colorama', '', '[]']
adding ['decorator', '>=4.0.6,>=4.3.0', '[]']
adding ['ipykernel', '', '[]']
adding ['ipython', '>=1.0', '[]']
adding ['jupyter-client', '', '[]']
adding ['jupyter-console', '', '[]']
adding ['nbformat', '>=4.2', '[]']
adding ['neo4j-driver', '<1.7,>=1.6', '[]']
adding ['neo4jrestclient', '>=2.1.0', '[]']
adding ['neotime', '', '[]']
adding ['numpy', '>=1.9.0', '[]']
adding ['prettytable', '', '[]']
adding ['prompt-toolkit', '==1.0.15', '[]']
adding ['pygments', '>=2.0', '[]']
adding ['pytest', '', '[]']
adding ['python-dateutil', '>=2.5.0', '[]']
adding ['pytz', '>=2011k', '[]']
adding ['requests', '', '[]']
adding ['retrying', '>=1.3.3', '[]']
adding ['six', '', '[]']
adding ['traitlets', '>=4.1.0', '[]']
adding ['urllib3', '<1.23,>=1.21.1', "['secure']"]
Removed dependencies in this round:
Unsafe dependencies in this round:
------------------------------------------------------------
Result of round 1: not stable
ROUND 2
Current constraints:
click>=2.0
colorama
decorator>=4.0.6,>=4.3.0
ipykernel
ipython>=1.0
ipython-cypher
jupyter_client
jupyter_console
nbformat>=4.2
neo4j-driver<1.7,>=1.6
neo4jrestclient>=2.1.0
neotime
networkx
numpy>=1.9.0
pandas
plotly
prettytable
prompt_toolkit==1.0.15
py2neo
pygments>=2.0
pytest
python-dateutil>=2.5.0
python-igraph
pytz>=2011k
requests
retrying>=1.3.3
six
traitlets>=4.1.0
urllib3[secure]<1.23,>=1.21.1
Finding the best candidates:
found candidate click==7.0 (constraint was >=2.0)
found candidate colorama==0.3.9 (constraint was <any>)
found candidate decorator==4.3.0 (constraint was >=4.0.6,>=4.3.0)
found candidate ipykernel==5.0.0 (constraint was <any>)
found candidate ipython==7.0.1 (constraint was >=1.0)
found candidate ipython-cypher==0.2.6 (constraint was <any>)
found candidate jupyter-client==5.2.3 (constraint was <any>)
found candidate jupyter-console==5.2.0 (constraint was <any>)
found candidate nbformat==4.4.0 (constraint was >=4.2)
found candidate neo4j-driver==1.6.2 (constraint was >=1.6,<1.7)
found candidate neo4jrestclient==2.1.1 (constraint was >=2.1.0)
found candidate neotime==1.0.0 (constraint was <any>)
found candidate networkx==2.2 (constraint was <any>)
found candidate numpy==1.15.2 (constraint was >=1.9.0)
found candidate pandas==0.23.4 (constraint was <any>)
found candidate plotly==3.3.0 (constraint was <any>)
found candidate prettytable==0.7.2 (constraint was <any>)
found candidate prompt_toolkit==1.0.15 (constraint was ==1.0.15)
found candidate py2neo==4.1.0 (constraint was <any>)
found candidate pygments==2.2.0 (constraint was >=2.0)
found candidate pytest==3.8.1 (constraint was <any>)
found candidate python-dateutil==2.7.3 (constraint was >=2.5.0)
found candidate python-igraph==0.7.1.post6 (constraint was <any>)
found candidate pytz==2018.5 (constraint was >=2011k)
found candidate requests==2.19.1 (constraint was <any>)
found candidate retrying==1.3.3 (constraint was >=1.3.3)
found candidate six==1.11.0 (constraint was <any>)
found candidate traitlets==4.3.2 (constraint was >=4.1.0)
found candidate urllib3[secure]==1.22 (constraint was >=1.21.1,<1.23)
Finding secondary dependencies:
pandas==0.23.4 requires numpy>=1.9.0, python-dateutil>=2.5.0, pytz>=2011k
decorator==4.3.0 requires -
plotly==3.3.0 requires decorator>=4.0.6, nbformat>=4.2, pytz, requests, retrying>=1.3.3, six
six==1.11.0 requires -
colorama==0.3.9 requires -
ipython==7.0.1 requires appnope; sys_platform == "darwin", backcall, decorator, jedi>=0.10, pexpect; sys_platform != "win32", pickleshare, prompt-toolkit<2.1.0,>=2.0.0, pygments, setuptools>=18.5, simplegeneric>0.8, traitlets>=4.2
ipykernel==5.0.0 requires ipython>=5.0.0, jupyter-client, tornado>=4.2, traitlets>=4.1.0
python-igraph==0.7.1.post6 requires -
nbformat==4.4.0 requires ipython-genutils, jsonschema!=2.5.0,>=2.4, jupyter-core, traitlets>=4.1
prompt_toolkit==1.0.15 requires six>=1.9.0, wcwidth
jupyter-console==5.2.0 requires ipykernel, ipython, jupyter-client, prompt-toolkit<2.0.0,>=1.0.0, pygments
py2neo==4.1.0 requires click>=2.0, colorama, ipykernel, jupyter_client, jupyter_console, neo4j-driver<1.7,>=1.6, neotime, prompt_toolkit==1.0.15, pygments>=2.0, pytest, traitlets>=4.1.0, urllib3[secure]<1.23,>=1.21.1
ipython-cypher==0.2.6 requires ipython>=1.0, neo4jrestclient>=2.1.0, prettytable
neotime==1.0.0 requires pytz, six
python-dateutil==2.7.3 requires six>=1.5
pygments==2.2.0 requires -
neo4jrestclient==2.1.1 requires requests>=2.1.0
requests==2.19.1 requires certifi>=2017.4.17, chardet<3.1.0,>=3.0.2, idna<2.8,>=2.5, urllib3<1.24,>=1.21.1
pytest==3.8.1 requires atomicwrites>=1.0, attrs>=17.4.0, more-itertools>=4.0.0, pluggy>=0.7, py>=1.5.0, setuptools, six>=1.10.0
urllib3[secure]==1.22 requires certifi; extra == "secure"
prettytable==0.7.2 requires -
traitlets==4.3.2 requires decorator, ipython-genutils, six
click==7.0 requires -
networkx==2.2 requires decorator>=4.3.0
pytz==2018.5 requires -
numpy==1.15.2 requires -
jupyter-client==5.2.3 requires jupyter-core, python-dateutil>=2.1, pyzmq>=13, tornado>=4.1, traitlets
retrying==1.3.3 requires six>=1.7.0
neo4j-driver==1.6.2 requires neotime==1.0.0
New dependencies found in this round:
adding ['appnope', '', '[]']
adding ['atomicwrites', '>=1.0', '[]']
adding ['attrs', '>=17.4.0', '[]']
adding ['backcall', '', '[]']
adding ['certifi', '>=2017.4.17', '[]']
adding ['chardet', '<3.1.0,>=3.0.2', '[]']
adding ['idna', '<2.8,>=2.5', '[]']
adding ['ipython', '>=1.0,>=5.0.0', '[]']
adding ['ipython-genutils', '', '[]']
adding ['jedi', '>=0.10', '[]']
adding ['jsonschema', '!=2.5.0,>=2.4', '[]']
adding ['jupyter-core', '', '[]']
adding ['more-itertools', '>=4.0.0', '[]']
adding ['neotime', '==1.0.0', '[]']
adding ['pexpect', '', '[]']
adding ['pickleshare', '', '[]']
adding ['pluggy', '>=0.7', '[]']
adding ['prompt-toolkit', '<2.0.0,<2.1.0,==1.0.15,>=1.0.0,>=2.0.0', '[]']
adding ['py', '>=1.5.0', '[]']
adding ['python-dateutil', '>=2.1,>=2.5.0', '[]']
adding ['pyzmq', '>=13', '[]']
adding ['requests', '>=2.1.0', '[]']
adding ['simplegeneric', '>0.8', '[]']
adding ['six', '>=1.10.0,>=1.5,>=1.7.0,>=1.9.0', '[]']
adding ['tornado', '>=4.1,>=4.2', '[]']
adding ['traitlets', '>=4.1,>=4.1.0,>=4.2', '[]']
adding ['urllib3', '<1.23,<1.24,>=1.21.1', "['secure']"]
adding ['wcwidth', '', '[]']
Removed dependencies in this round:
removing ['ipython', '>=1.0', '[]']
removing ['neotime', '', '[]']
removing ['prompt-toolkit', '==1.0.15', '[]']
removing ['python-dateutil', '>=2.5.0', '[]']
removing ['requests', '', '[]']
removing ['six', '', '[]']
removing ['traitlets', '>=4.1.0', '[]']
removing ['urllib3', '<1.23,>=1.21.1', "['secure']"]
Unsafe dependencies in this round:
------------------------------------------------------------
Result of round 2: not stable
ROUND 3
Current constraints:
appnope
atomicwrites>=1.0
attrs>=17.4.0
backcall
certifi>=2017.4.17
chardet<3.1.0,>=3.0.2
click>=2.0
colorama
decorator>=4.0.6,>=4.3.0
idna<2.8,>=2.5
ipykernel
ipython>=1.0,>=5.0.0
ipython-cypher
ipython-genutils
jedi>=0.10
jsonschema!=2.5.0,>=2.4
jupyter-client
jupyter_console
jupyter-core
more-itertools>=4.0.0
nbformat>=4.2
neo4j-driver<1.7,>=1.6
neo4jrestclient>=2.1.0
neotime==1.0.0
networkx
numpy>=1.9.0
pandas
pexpect
pickleshare
plotly
pluggy>=0.7
prettytable
prompt-toolkit<2.0.0,<2.1.0,==1.0.15,>=1.0.0,>=2.0.0
py>=1.5.0
py2neo
pygments>=2.0
pytest
python-dateutil>=2.1,>=2.5.0
python-igraph
pytz>=2011k
pyzmq>=13
requests>=2.1.0
retrying>=1.3.3
simplegeneric>0.8
six>=1.10.0,>=1.5,>=1.7.0,>=1.9.0
tornado>=4.1,>=4.2
traitlets>=4.1,>=4.1.0,>=4.2
urllib3[secure]<1.23,<1.24,>=1.21.1
wcwidth
Finding the best candidates:
found candidate appnope==0.1.0 (constraint was <any>)
found candidate atomicwrites==1.2.1 (constraint was >=1.0)
found candidate attrs==18.2.0 (constraint was >=17.4.0)
found candidate backcall==0.1.0 (constraint was <any>)
found candidate certifi==2018.8.24 (constraint was >=2017.4.17)
found candidate chardet==3.0.4 (constraint was >=3.0.2,<3.1.0)
found candidate click==7.0 (constraint was >=2.0)
found candidate colorama==0.3.9 (constraint was <any>)
found candidate decorator==4.3.0 (constraint was >=4.0.6,>=4.3.0)
found candidate idna==2.7 (constraint was >=2.5,<2.8)
found candidate ipykernel==5.0.0 (constraint was <any>)
found candidate ipython==7.0.1 (constraint was >=1.0,>=5.0.0)
found candidate ipython-cypher==0.2.6 (constraint was <any>)
found candidate ipython-genutils==0.2.0 (constraint was <any>)
found candidate jedi==0.12.1 (constraint was >=0.10)
found candidate jsonschema==2.6.0 (constraint was >=2.4,!=2.5.0)
found candidate jupyter-client==5.2.3 (constraint was <any>)
found candidate jupyter-console==5.2.0 (constraint was <any>)
found candidate jupyter-core==4.4.0 (constraint was <any>)
found candidate more-itertools==4.3.0 (constraint was >=4.0.0)
found candidate nbformat==4.4.0 (constraint was >=4.2)
found candidate neo4j-driver==1.6.2 (constraint was >=1.6,<1.7)
found candidate neo4jrestclient==2.1.1 (constraint was >=2.1.0)
found candidate neotime==1.0.0 (constraint was ==1.0.0)
found candidate networkx==2.2 (constraint was <any>)
found candidate numpy==1.15.2 (constraint was >=1.9.0)
found candidate pandas==0.23.4 (constraint was <any>)
found candidate pexpect==4.6.0 (constraint was <any>)
found candidate pickleshare==0.7.5 (constraint was <any>)
found candidate plotly==3.3.0 (constraint was <any>)
found candidate pluggy==0.7.1 (constraint was >=0.7)
found candidate prettytable==0.7.2 (constraint was <any>)
Could not find a version that matches prompt-toolkit<2.0.0,<2.1.0,==1.0.15,>=1.0.0,>=2.0.0
Tried: 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.8, 0.9, 0.10, 0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19, 0.20, 0.21, 0.22, 0.23, 0.25, 0.26, 0.28, 0.30, 0.31, 0.32, 0.32, 0.33, 0.33, 0.34, 0.34, 0.35, 0.35, 0.36, 0.36, 0.37, 0.37, 0.38, 0.38, 0.39, 0.39, 0.40, 0.40, 0.41, 0.41, 0.42, 0.42, 0.43, 0.43, 0.44, 0.44, 0.45, 0.45, 0.46, 0.46, 0.47, 0.47, 0.48, 0.48, 0.49, 0.49, 0.50, 0.50, 0.51, 0.51, 0.52, 0.52, 0.53, 0.53, 0.54, 0.54, 0.55, 0.55, 0.56, 0.56, 0.57, 0.57, 0.58, 0.58, 0.59, 0.59, 0.60, 0.60, 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.13, 1.0.13, 1.0.14, 1.0.14, 1.0.15, 1.0.15, 2.0.1, 2.0.1, 2.0.2, 2.0.2, 2.0.3, 2.0.3, 2.0.4, 2.0.4
There are incompatible versions in the resolved dependencies.
After I check verbose. I tried install one by one. No error raises and here is my pip freeze
$ pip freeze
appnope==0.1.0
atomicwrites==1.2.1
attrs==18.2.0
backcall==0.1.0
certifi==2018.8.24
chardet==3.0.4
Click==7.0
colorama==0.3.9
decorator==4.3.0
idna==2.7
ipykernel==5.0.0
ipython==7.0.1
ipython-cypher==0.2.6
ipython-genutils==0.2.0
jedi==0.12.1
jsonschema==2.6.0
jupyter-client==5.2.3
jupyter-console==5.2.0
jupyter-core==4.4.0
more-itertools==4.3.0
nbformat==4.4.0
neo4j-driver==1.6.2
neo4jrestclient==2.1.1
neotime==1.0.0
networkx==2.2
numpy==1.15.2
pandas==0.23.4
parso==0.3.1
pexpect==4.6.0
pickleshare==0.7.5
pip-tools==3.0.0
plotly==3.3.0
pluggy==0.7.1
prettytable==0.7.2
prompt-toolkit==1.0.15
ptyprocess==0.6.0
py==1.6.0
py2neo==4.1.0
Pygments==2.2.0
pytest==3.8.1
python-dateutil==2.7.3
python-igraph==0.7.1.post6
pytz==2018.5
pyzmq==17.1.2
requests==2.19.1
retrying==1.3.3
simplegeneric==0.8.1
six==1.11.0
tornado==5.1.1
traitlets==4.3.2
urllib3==1.22
wcwidth==0.1.7
I think you found two distinct bugs with this:
ipython==7.0.1
with prompt-toolkit==1.0.15
, since ipython's requirements specify prompt-toolkit<2.1.0,>=2.0.0
.In Pip-tools. The pip-tools resolver should be able to find a set of packages that matches your requirements input specifications in the graph.in
, since there is one.
graph.in
, try adding ipython<7
line to your graph.in
and rerun pip-compile. At least on my machine, that resolves to a set of packages without any version conflicts present.Implementing a resolver that could find the resolution automatically is not trivial though. There are some resolver implementations which do that kind of stuff, like libsolv, but that isn't available as a pure Python package AFAIK.
As @suutari-ai mentionned, pip-tools
behaved as expected, taking into account that it doesn't perform backtracking, and the user has to investigate the conflict and take action. Having a better resolver would be awesome, but is project out of reach at the moment.
The solution here is to investigate the verbose output, as @suutari-ai did, as spot there's a conflict on prompt-toolkit
, where
ipython==7.0.1
requires prompt-toolkit<2.1.0,>=2.0.0
jupyter-console==5.2.0
requires prompt-toolkit<2.0.0,>=1.0.0
And from there, check if an earlier version of ipython
supports prompt-toolkit<2.0.0
, or if an earlier version of jupyter-console
supports prompt-toolkit>=2.0.0
(usually, you have more chances of previous versions supporting older versions, so checking to downgrade ipython
is the most likely to yield a valid solution).
Another option after that is to check if contributions can be made to make jupyter-console
next version compatible with prompt-toolkit>=2.0.0
to move forward, but I'm going past finding a valid set of constrains here 😄
I'll go ahead and close the issue. Cheers!
There are incompatible versions in the resolved dependencies.
Environment Versions
10.13.6
3.7.0
pip 18.0 from /Users/sarit/.pyenv/versions/3.7.0/envs/talatphlu/lib/python3.7/site-packages/pip (python 3.7)
pip-compile, version 3.0.0
Steps to replicate
graph.in
py2neo ipython-cypher pandas networkx python-igraph plotlypip-compile graph.in -o graph.txt
Expected result
Dependencies all are compiled to
graph.txt
Or program be able to give me some clue the tree of dependencies I have to solveActual result
Could not find a version that matches prompt-toolkit<2.0.0,<2.1.0,==1.0.15,>=1.0.0,>=2.0.0 Tried: 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.8, 0.9, 0.10, 0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19, 0.20, 0.21, 0.22, 0.23, 0.25, 0.26, 0.28, 0.30, 0.31, 0.32, 0.32, 0.33, 0.33, 0.34, 0.34, 0.35, 0.35, 0.36, 0.36, 0.37, 0.37, 0.38, 0.38, 0.39, 0.39, 0.40, 0.40, 0.41, 0.41, 0.42, 0.42, 0.43, 0.43, 0.44, 0.44, 0.45, 0.45, 0.46, 0.46, 0.47, 0.47, 0.48, 0.48, 0.49, 0.49, 0.50, 0.50, 0.51, 0.51, 0.52, 0.52, 0.53, 0.53, 0.54, 0.54, 0.55, 0.55, 0.56, 0.56, 0.57, 0.57, 0.58, 0.58, 0.59, 0.59, 0.60, 0.60, 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.13, 1.0.13, 1.0.14, 1.0.14, 1.0.15, 1.0.15, 2.0.1, 2.0.1, 2.0.2, 2.0.2, 2.0.3, 2.0.3, 2.0.4, 2.0.4 There are incompatible versions in the resolved dependencies.