LinuxのVSCodeでPythonのデバッグができないときの対応

この記事は公開から2年以上経過しています。

Linux(openSUSE Leap 15.3)上のVSCodeからPythonのデバッガを利用しようとしたところ、デバッグができない問題に遭遇したため、その対応についての備忘録。

2022.10.1追記:
openSUSE(Leap 15.3)では、
python39パッケージのインストール
・VSCodeのPythonインタプリタをPython 3.9.XXに変更
を行うことで、VSCode+Microsoft Python拡張(v2022.14.0)を用いた実行とデバッグができることを確認しました。


問題

VSCodeでPythonファイルのデバッグを実行すると、OUTPUTウィンドウに

DAP Server launched with command: /usr/bin/python /home/user/.vscode/extensions/ms-python.python-2022.15.12701023/pythonFiles/lib/python/debugpy/adapter

のようなメッセージが表示されるものの、デバッグが開始されない。


原因

問題のメッセージに表示されているコマンドをターミナル上で直接実行すると

Traceback (most recent call last):
  File "/usr/lib64/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib64/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/user/.vscode/extensions/ms-python.python-2022.15.12701023/pythonFiles/lib/python/debugpy/adapter/__main__.py", line 212, in <module>
    __import__("debugpy")
  File "/home/user/.vscode/extensions/ms-python.python-2022.15.12701023/pythonFiles/lib/python/debugpy/adapter/../../debugpy/__init__.py", line 28, in <module>
    "Python 3.6 and below is not supported by this version of debugpy; "
AssertionError: Python 3.6 and below is not supported by this version of debugpy; use debugpy 1.5.1 or earlier.

のようなエラーが発生することから、Pythonのバージョン(OpenSUSE公式パッケージのPython 3のバージョンが3.6)がMicrosoft Python拡張のdebugpyがサポートするバージョンから外れている事が原因と考えられる。


対応

エラーメッセージの内容に従い

  • Python 3.7以上を利用する。

または、

  • Microsoft Python拡張(debugpy)のバージョンダウングレードする。

のどちらかの対応を行う。


当初、Python 3.9.14をソースからビルドしてaltinstallで導入してみたもののモジュール周りでエラーが発生してしまったため、ひとまずPythonのアップグレードは諦めてMicrosoft Python拡張のバージョンをv2021.3.680753044までダウングレードしてみたところ、一応VSCodeでデバッガが利用できるようになりました。

Pythonのアップグレードによる解決方法については、後日改めてトライしてみたいと思います。

ちなみに利用するMicrosoft Python拡張のバージョンはリリースノートで目星を付けましたが、対応するPythonバージョンについて特に言及されていないようなので、これよりも新しいバージョンの拡張が利用できるかもしれません。


以上です。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする