kujirahand/tkeasygui-python

Windows環境でTkEasyGUIモジュールのインポートに失敗します

Closed this issue · 4 comments

Windows環境でTkEasyGUIモジュールのインポートに失敗します。
$ pip install TkEasyGUIでコマンドプロンプトからインストールし、以下のテストコードの動作確認を行ったところ、typeオブジェクトとして認識されてしまうエラーが発生しました。
こちらの対処方法を教えていただきたいです。

import TkEasyGUI as eg

# define layout
layout = [[eg.Text("Hello, World!")], [eg.Button("OK")]]
# create a window
window = eg.Window("Hello App", layout)
# event loop
while True:
    event, values = window.read()
    if event in ["OK", eg.WINDOW_CLOSED]:
        eg.popup("Thank you.")
        break
# close window
window.close()

PowerShellで実行したときのエラーメッセージ
PS C:\Users\emima\OneDrive\Documents> py -3 test.py
Traceback (most recent call last):
File "test.py", line 1, in
import TkEasyGUI as tk_easygui
File "C:\Users\emima\AppData\Local\Programs\Python\Python38\lib\site-packages\TkEasyGUI_init_.py", line 5, in
from TkEasyGUI.dialogs import * # noqa: F403
File "C:\Users\emima\AppData\Local\Programs\Python\Python38\lib\site-packages\TkEasyGUI\dialogs.py", line 18, in
def popup_buttons(message: str, title: str = "Question", buttons: list[str] = ["OK", "Cancel"],
TypeError: 'type' object is not subscriptable

下記の最新バージョンで試してみるとどうでしょうか?

pip install TkEasyGUI==0.2.68

手元のmacOS/Windowsでは問題なく実行できました。
もし、まだエラーが出るようでしたらPythonのバージョンも教えていただけると解決できそうです。

TkEasyGUIのバージョンを0.2.68にアップデートしても、エラーは治りませんでした。
結論、Pythonのバージョンが古かったことが原因でした。

エラーが出たバージョンは3.8.1で、最新の3.12.3にアップデートした結果、問題なくテストコードが動作いたしました。
アドバイスありがとうございました。

無事に解決とのこと、良かったです✨
Pythonのバージョンが比較的新しくないといけないというのは、ハマりポイントかもですね😿
大きくバージョンを出しておくことにします。

解決済みでしたので閉じますね。試してくださり、ありがとうございました!