windows環境下でPythonを使ったアプリをwindowsの実行ファイルにする方法 追記 TkinterDnD2を使った場合

2025年03月20日

windows11でpythonのアプリ作っています。実行ファイルを作る時はアプリ(ここでは ap.py とします)をドライブRにおいて、ターミナル(パワーシェル)を使って以下のコマンドを実行します。

PS R:\> pyinstaller ap.py --onefile --noconsole

--onefile これをしないと実行に必要なファイルが別に作られる

--noconsole これをしないと実行時に黒い窓が開く (ログを取るときには --noconsoleをつけない)

実行すると フォルダ dist の中に実行ファイル ap.exe ができます。

ところがPythonで TkinterDnD2 をインポートして使っているときは上の方法で実行ファイルを作っても正常には動作せずエラーメッセージが出ます。(コマンドプロンプトを開いていないと一瞬で消えるので全く読めません。)

対応としてpython のアプリと一緒のフォルダの中に hook-tkinterdnd2.py をおいてから次のコマンドを実行します。

PS R:\> pyinstaller ap.py --onefile --additional-hooks-dir=.

拡張子が.pyのファイルがアップロードできないのでhook-tkinterdnd2.txtを添付します。ダウンロードしたら拡張子をtxtからpyに変更してください。

参考 https://juu7g.hatenablog.com/entry/Python/pyinstaller

[hook-tkinterdnd2.py] の中身をそのまま貼り付けておきます。

【hook-tkinterdnd2.pyの記述】

"""pyinstaller hook file.

You need to use this hook-file if you are packaging a project using tkinterdnd2.

Just put hook-tkinterdnd2.py in the same directory where you call pyinstaller and type:

pyinstaller myproject/myproject.py --additional-hooks-dir=.

"""

from PyInstaller.utils.hooks import collect_data_files, eval_statement

datas = collect_data_files('tkinterdnd2')


スピンズ 、 千葉県佐倉市山王、rxi06630@gmail.com
Powered by Webnode Cookie
無料でホームページを作成しよう! このサイトはWebnodeで作成されました。 あなたも無料で自分で作成してみませんか? さあ、はじめよう