我正在使用它,当我启动python脚本
时工作正常root.wm_iconbitmap('icon.ico')
但在使用cx_freeze编译脚本并尝试执行编译文件后,我收到以下错误消息
File "D:\Programme\Python\Lib\tkinter\__init__.py", line 1553, in wm_iconbitmap
return self.tk.call('wm', 'iconbitmap', self._w, bitmap)
_tkinter.TclError: bitmap "icon.ico" not defined
因此无法找到图标文件。 如何配置我的setup.py以包含图标文件?
答案 0 :(得分:3)
我不知道你是否已经解决了这个问题(考虑到这个问题的年龄),但我和你有完全相同的问题,并且由于你的问题,它实际上解决了我的问题。
为了包含您的图标文件(或您的Python程序所调用的任何其他文件),您需要在setup.py
脚本中创建一个名为includefiles
的变量,然后在setup(
代码中创建一个变量包括options
。
以下是我用来执行此操作的setup.py
脚本。
import sys
from cx_Freeze import setup, Executable
base = None
if (sys.platform == "win32"):
base = "Win32GUI"
exe = Executable(
script = "Binary to Decimal Converter.py",
icon = "python-xxl.ico",
targetName = "Binary to Decimal Converter.exe",
base = base
)
includefiles = ["python-xxl.ico"]
setup(
name = "Binary to Decimal Converter",
version = "0.1",
description = "Converts Binary values to Decimal values",
author = "Neeraj Morar",
options = {'build_exe': {'include_files':includefiles}},
executables = [exe]
)
如您所见,includefiles
由我的图标文件名组成(我应该提醒您将该文件放在与Python脚本相同的目录中)。然后,在setup(
代码中,我有options = {'build_exe': {'include_files':includefiles}}
'include_files'
调用我创建的includefiles
变量。
基本上,您需要做的就是和我做同样的事情,而不是将我的图标文件名放在您的图标文件名中;即includefiles = ["icon.ico"]
。