【发布时间】:2018-01-19 14:02:18
【问题描述】:
我在python 3.5tkinter写了一个小程序
我正在使用 pyintaller 将其变成可执行文件
我在窗口中添加了一个自定义图标来替换 tkinter 的默认羽毛图标
from tkinter import *
from tkinter import messagebox
import webbrowser
calculator = Tk()
calculator.title("TBE Calculator")
calculator.resizable(0, 0)
iconFile = 'calculator.ico'
calculator.iconbitmap(default=iconFile)
直接运行program.py文件时,图标可以正常工作
但是当使用使其可执行时
pyinstaller --onefile --windowed --icon=program.ico program.py
从 dist 目录运行 program.exe,报错
failed to execute script program
我也试过
pyinstaller --onefile --windowed --icon=program.ico --add-data="calculator.ico;ico" program.py
但还是同样的错误。
program.spec 文件
# -*- mode: python -*-
block_cipher = None
a = Analysis(['program.py'],
pathex=['C:\\Users\\anuj\\PycharmProjects\\YouTubePlayer\\Program'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
name='calculator',
debug=False,
strip=False,
upx=True,
console=False , icon='program.ico')
删除calculator.iconbitmap(default=iconFile) 行可以正常工作,但使用默认羽毛图标。
如何在 .exe 可执行文件中包含窗口图标文件?
【问题讨论】:
标签: python tkinter python-3.5 pyinstaller