Python3.7最新版でVSCodeの定義へ移動(Go to Definition)が使えなくなった場合の対処法

Kanta Asada
2 min readSep 1, 2018

--

参照: https://github.com/DonJayamanne/pythonVSCode/issues/601#issuecomment-269075729

Python3.7にしたところコードジャンプが使えなくなったので、解決策をメモ。

当時pipenvを導入とpython3.7にしたのが同時だったので、原因が掴めかねていましたが、VSCodeの「ヘルプ→開発者ツールの切り替え」で以下のエラーが出ていることが分かりました。

FileNotFoundError: [Errno 2] No such file or directory: 'preview/jedi/parser/grammar3.7.txt'

jediの3.7用grammarがないためでした。jediはまだ3.7に対応していないようなので、とりあえずは3.6のgrammerをコピーすることにします。

$ cd ~/.vscode/extensions/donjayamanne.python-0.7.0/pythonFiles/preview/jedi/parser$ cp grammar3.6.txt grammar3.7.txt

以上でコードジャンプが使えるようになります。

と思いましたが、原因は他にありました!(上の作業は不要でした)

原因はVSCode Python拡張機能の古いバージョンが残っていたためでした。

rm -rf ~/.vscode/extensionsdonjayamanne.python-0.7.0

これで直りました。

余談:pipenvでPIPENV_VENV_IN_PROJECT=1を有効にしたら、プロジェクト内でライブラリのソースにジャンプできて便利!
(ユーザ設定に”python.venvPath”: “.venv”,を追記して、cmd+shift+Pで「Python: インタプリターを選択」→ ./.venv/bin/pythonを選択する必要あり)

--

--