この記事は公開から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バージョンについて特に言及されていないようなので、これよりも新しいバージョンの拡張が利用できるかもしれません。
以上です。