前提
tkinterdnd2を使ったプログラムを書いてるのですが、pyinstallerでEXE化すると以下のようなエラーが発生します。
発生している問題・エラーメッセージ
Traceback (most recent call last): File "tkinterdnd2\TkinterDnD.py", line 53, in _require _tkinter.TclError: can't find package tkdnd During handling of the above exception, another exception occurred: Traceback (most recent call last): File "tes.py", line 2, in <module> File "tkinterdnd2\TkinterDnD.py", line 285, in __init__ File "tkinterdnd2\TkinterDnD.py", line 55, in _require RuntimeError: Unable to load tkdnd library. [7256] Failed to execute script 'tes' due to unhandled exception!
該当のソースコード
from tkinterdnd2 import * root = TkinterDnD.Tk() root.title('てすと') root.mainloop()
試したこと
ググった結果、tkdndが不足しているというのはわかったのですがどこに何を配置すれば良いのかがわかりません。
pmgagne/tkinterdnd2: Tkinter native drag and drop - GitHub
こちらの説明に従ってpython setup.py installを実行しました。
hook-tkinterdnd2.pyをベースディレクトリにコピーとありますが、ベースディレクトリとはどこでしょうか?
とりあえずコンパイルしたい実行ファイルと同じ場所にコピーして、以下のコードでEXE化しましたが変わらず同じエラーが発生しました。
venv/Scripts/pyinstaller -F -w tes.py --additional-hooks-dir=.
解決策をご存じの方がいましたら教えていただけないでしょうか。
補足情報(FW/ツールのバージョンなど)
Python 3.9(pycharmから新しく作った環境)
tkinterdnd2 0.3.0
pyinstaller 5.41
全てpipでインストールしています。
回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
2022/10/02 05:28