🐍
Python jedi で ImportError: cannot import name 'traverse_parents' の解決
python-language-server 入れたがタイトルのエラーが出て動かずつらい..
原因
古い jedi が入っているときに python-language-server
で新しい jedi がインストールされるときに生じます.
ファイル構成が変わったが, pip install -U
で upgrade install でも common の古いほうのファイル(フォルダ)が残っているため, 削除されずにおかしくなっています.
解決方法
一度 jedi アップデートしてしまうと, pip install -U でも pip uninstall でも common
フォルダが残ってしまう(古い方のファイル構成を知らないため, common フォルダを消してくれない)ので,
site-packages/jedi
のフォルダを削除してから pip install する.
TODO
-
pip で完全 clean install する方法を探す.
pip install jedi --force-reinstall
ではダメだった
Discussion