1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PyenvとVSCodeでpython3.6のコードをデバッグできないことの対処法

Last updated at Posted at 2022-07-22

症状

PyenvでPython3.6.8にした上で、VSCodeでデバッグしようとしたが、一瞬デバッグのツールバーが出ただけで動かなかった

対処法

一番楽なのはPyenvで使うPythonのバージョンを3.7.0以上に上げることです
試してないですが、pdbを使う方法も多分いけるはず(注意:バージョンに合ったドキュメントを読んでください)
追記:pdbを試したらいけました(バージョンに合ったドキュメントを読んで下さい)

さらに追記:
コメントにてVSCodeのプラグインのバージョンを落として解決する方法を教えていただきました

以前同じ問題に直面しました。
原因はこれでした。
https://github.com/microsoft/vscode-python/issues/19441
つまり、vscodeのpythonプラグインがpython3.6の対応を終了しちゃったからです。
プラグインのバージョンをv2022.8.*まで落とせば解決します。

さらに追記ここまで

他にも方法はありそうですが、具体的な方法は判明していないので書けません(理由は後述)

原因考察

完全には判明していないので考察です
だらだらと書き連ねるだけなので、上の対処法で済む人は読まなくていいと思います

まず、Pyenvに問題がありそうだと思ったので、3.6.8を再インストールしたり(治らなかった)、色々なバージョンを入れてデバッグしたりしました
すると、

バージョン デバッガ動作
3.5.4 x
3.6.7 x
3.6.8 x
3.7.0 o

となったので、3.6.8と3.7.0の間に原因がありそうだと思いました
ということで、3.7.0の新機能を見てたら、PEP 553: 組み込みの breakpoint()とあったので、多分これが原因だと思います

そこからさらに、色々調べてPython debugging in VS Code
を見るとVSCodeはdebugpyというものを使ってそうだとわかりました

分かったのはここまでです
debugpyをあれこれすればなんとかなるかもしれませんが、よくわからないので対処法に書くのはやめました

最後に

そもそも3.6は2021-12-23でサポート終了(EOL)になっていて、不具合があったところで文句なんて言えないので諦めて3.7以上を使うのが得策ですね(余談ですが、AtcoderでPyPy使ってるとPythonのバージョンが3.6.9なのでそれに合わせなければいけないのが辛い)

1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?