2022年11月13日

Visual Studio Code で wxPython をデバッグする

 Python スクリプトをデバッグできる IDE を調べてみた。PyCharmVisual Studio Code (VSCode) がよく勧められている。この際 VSCode に慣れておくのもよさそうです。試してみました。

20221113-1.png

 公式ページ(上記)からダウンロードして、/Applications フォルダに移動する。

20221113-2.png

 立ち上げて、初期設定(画面表示など)をしたあと、Extensions で Python をインストールする。

20221113-3.png

 こういう画面が出てくる。"Select a Python Interpreter" でデフォルトの Python インタプリタを指定する。

20221113-4.png

 Python インタプリタがありそうなところを探してくれるみたいですね。いろんなバージョンが混在して、散らかり放題なのがバレバレです。

20221113-5.png

 左端のツールバーで "Explorer" (一番上)を選んで、Open Folder でフォルダを開く。wxPython のプログラムはたいてい複数ファイルにまたがっているので、1つのフォルダにまとめておくのがよい。

20221113-6.png

 メインプログラムのファイルを開きます。しかし、このままでは実行できません。import wx のところに波線がついていて、マウスポインタを当てると Import "wx" could not be resolved とエラーメッセージが表示されます。これは当然で、venv で作成した仮想環境を指定していないためです。

20221113-7.png

 このフォルダ内に .vscode/settings.json ファイルを作成して、以下の内容を書き込む。/PATH_TO_VENV_FOLDER のところは、venvwxPython フォルダを作成したパスを指定する。

{
    "python.venvPath": "/PATH_TO_VENV_FOLDER/wxPython",
    "python.defaultInterpreterPath": "/PATH_TO_VENV_FOLDER/wxPython" 
}

 一度 VSCode を終了して立ち上げ直し、もう一度同じフォルダを開くと、import wx のエラーが解消されています。

20221113-8.png

 実行してみます。main.py を選んで、右上の "Run/Debug" ボタンの横のメニューから "Debug Python File" を選びます。

20221113-9.png

 おー、いけてるやん。

20221113-10.png

 VSCode のウィンドウ中央上に出ているデバッグ用のツールバーで、"Pause" を押してみます。wxPython はイベント待ちの状態になっているのですぐには止まりませんが、マウスポインタを動かすなどで Python スクリプトに制御が渡ると、そこで停止します。左のツールバーで "Debug" を選び、CALL STACK でスタックフレームを選ぶと、その場所のソース行と、ローカル変数の値が表示されます(ちょっと待たされる)。なかなかいいじゃないですか。

20221113-11.png

 これで、wxPython プログラムをソースコードデバッグできる目処が立ちました。

Posted at 2022年11月13日 19:29:00
email.png