anaconda package for ipython 7.20 depends on jedi[version='>=0.10,<0.18'], but actually needs jedi>=0.18?
- 主要语言
- Python
- 星标
- 16.8k
- 派生
- 4.5k
- 平均合并
- 1 天 2 小时
- 30 天内合并 PR
- 6
描述
According to https://github.com/ipython/ipython/issues/12740, jedi introduced breaking changes into version 0.18, which broke iPython 7.19. iPython 7.20 contains the fix for jedi 0.18.
iPython 7.20 however does not seem to play nicely with jedi 0.17; results vary between packages:
```
$ conda list | grep -P 'ipython\b|jedi'
ipython 7.20.0 py37hb070fc8_1
jedi 0.17.0 py37_0
$ ipython
Python 3.7.7 (default, May 7 2020, 21:25:33)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.20.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: import yaml
In [2]: yaml.
In [3]: import six
In [4]: six.
In [3]: import urllib3
In [4]: urllib3.
In [5]: import itertools
In [6]: itertools.
accumulate compress filterfalse product tee()
chain count groupby repeat zip_longest
combinations cycle islice starmap
[...]
```
(Not sure what's the difference between packages that work and packages that don't.)
That said, given issue 12740, I expected this to work:
```
$ conda install 'ipython=7.20' 'jedi=0.18'
Collecting package metadata (current_repodata.json): done
[...]
UnsatisfiableError: The following specifications were found to be incompatible with each other:
Output in format: Requested package -> Available versions
Package setuptools conflicts for:
ipython=7.20 -> pygments -> setuptools
ipython=7.20 -> setuptools[version='>=18.5']
python=3.7 -> pip -> setuptools
Package jedi conflicts for:
ipython=7.20 -> jedi[version='>=0.10,<0.18']
jedi=0.18
```
I almost expected to get `ipython=7.20 -> jedi[version='>=0.18']` instead...
If I circumvent conda and install jedi with pip, iPython goes back to an happy place:
```
$ pip install 'jedi==0.18'
$ ipython
[...]
In [1]: import yaml
In [2]: yaml.add_constructor
add_constructor() CBaseLoader DocumentEndEvent FlowSequenceEndToken MarkedYAMLError ScalarNode tokens
add_implicit_resolver CDumper DocumentEndToken FlowSequenceStartToken Node ScalarToken unsafe_load
add_multi_constructor CFullLoader DocumentStartEvent full_load NodeEvent scan unsafe_load_all
[...]
```
...which seems to confirm the ipython 7.20 conda dependency string for jedi is incorrect.
贡献指南
评估
这个 Issue 还没有评估数据。