ipython 7.19.0 과 jedi 0.18 충돌. 간편 해결책은?

** 2021.02.04
ipython 7.20 이 공개되면서 이 문제는 해결됐다. (적어도 내가 보기엔 그렇다.)
Jedi 0.18, parso 0.8.1 과 충돌은 보이지 않는다. (아주 짧게 써봤기에 확신은 없다.)


ipython 7.19.0 와 jedi 0.18 이 모두 설치된 상황에서, ipython 을 실행하고 명령어 일부를 입력한뒤 Tab 을 눌러 자동완성을 사용하려 하면, ipython 자체가 죽어버리는 현상이 생긴다. (jedi 가 아예 없으면 또 괜찮다. 다만, ipython 이 jedi 를 의존하고 있기는 하다.)
바로 죽지는 않아도, 아무튼 제대로 작동하질 않는다.

ipython 쪽과 jedi 모두 보고는 되어 있다. ipython 에서 jedi 0.18 을 고려한 새판이 나와야 근본 해결책이 되겠으나, 현재로선 시간이 필요한 모양이다.

간편하게 해결하려면, jedi 를 0.17 로 내려주면 된다.

pip3 uninstall jedi
pip3 install --user jedi==0.17.2

또, jedi 0.17.2 는 parso 0.7 이상, 0.8 미만을 원하는데, 그냥 설치하게 되면 parso 0.8 이 설치된다. 따라서 얘도 낮춰줄 필요가 있는데..

ppip3 install --user parso==0.7.1

이렇게 해도 뭔가 다른 문제가 생기지 않을지에 대해선… 전혀 아는 바가 없다.

아무튼 위 작업을 하고 나서, pip 꾸러미 판올림시 jedi/parso 가 자동으로 올라가지 않도록 주의해야 한다.

ppip3 list -o --user | awk '{if(NR>=3)print}' | cut -d' ' -f1 | egrep -v 'jedi|parso' | xargs -n1 python3 -m pip install -U --user
Author: 아무도안

안녕하세요. 글 남겨주셔서 고맙습니다.