tkinterはexe実行可能ファイルにパッケージ化

1238 ワード

1.pyinstallerのインストールpip install pyinstaller
2.梱包
cmdを開き、パッケージするファイル(demo.py)ディレクトリに切り替えます.pyinstaller -F -w demo.pyを実行します.生成されたexeファイルはサブディレクトリdistにあります.-Fは指定パッケージ後にexe形式のファイルが1つしか生成されないことを示し、-wはウィンドウを表し、コンソールがない.
3.exeアイコンの変更-i icon.ico --icon=icon.icoアイコンファイルは、パッケージするファイルと同じディレクトリに配置されます.
4.tkのデフォルトアイコンを置換
ファイル内でtkデフォルトアイコンをカスタムアイコンで置き換えると、説明ドキュメントの方法root.iconbitmap(icon.ico)でtkアイコンを置き換えると、パッケージされたexeの実行に失敗します.なぜなら、アイコンが打ち込まれていないため、解決策はフォルダにパッケージ化したり、アイコンをbase 64データに変換したりすることです.
        gen.ico   icon.py    base64  
import base64
open_icon = open("gen.ico","rb")
b64str = base64.b64encode(open_icon.read())
open_icon.close()
write_data = "img = '{0}'".format(b64str)
f = open("icon.py","w+")
f.write(write_data)
f.close()

マスターの変更:
import base64
from icon import img
import os

 import   icon.py           tmp.ico,    
tmp = open('tmp.ico', 'wb+')
tmp.write(base64.b64decode(img))
tmp.close()
root.iconbitmap('tmp.ico')
os.remove('tmp.ico')
    
MainSerialToolUI(master=root)
root.resizable(False, False)
root.mainloop()