日記

日本語の勉強のためのブログ

PySimpleGUIを使ってみた

こちらの記事に触発されて試してみたくなった。
qiita.com

とりあえずこの記事の一番上にあるコードを動かしてみる。

環境

  • Windows 10 Home (version 21H1)
  • WSL1のUbuntu 20.04.2 LTSに入ってるPython3.8.10
  • Windowsに入ってるPython3.6.4

WSL環境ではエラーが出る

コードを適当な場所に保存(ファイル名:test.py)し、WSLに入ってるUbuntuのほうで

python3 ./test.py

としてみたが

Traceback (most recent call last):
  File "test.py", line 16, in <module>
    event, values = window.read()
(中略)
_tkinter.TclError: no display name and no $DISPLAY environment variable

と出て動かない。

(ここは自信ないので読み飛ばしてもらって結構です)
出力先のディスプレイが指定されていないことを示すエラーのようだ。
teratail.com WSL環境のUbuntuGUIアプリケーションを動作させるのは(初期状態では?)難しいらしい。
コマンドラインベースだからか?

コマンドプロンプトで動かす

というわけでコマンドプロンプトから実行してみる
まずPySimpleGUIを(Windowsに入ってるPythonに)インストールする。

$ pip install PySimpleGUI

Python2と3が共存している方は、pipを使えばPython2に、pip3を使えばPython3にインストールできる。

そして次のコマンドで実行。

$ python ./test.py

先ほどpip3でインストールした方は

$ python3 ./test.py

として実行できる。

結果

ちゃんと動作した。
GUIアプリケーションは導入の時点で何かとエラーが出てくるので手を出してこなかったが、どうにかうまく動かすことができてよかった。