PIL和py2exe的问题
我正在尝试把一个使用 .png 图片的图形界面程序转换成 .exe 文件,使用的是 py2exe。这个程序用 PIL 来显示这些图片。不过,我在转换的时候遇到了问题。生成的 .exe 文件似乎无法运行。有没有什么建议?
编辑
错误信息:
Traceback (most recent call last):
File "GUI1.2.8.py", line 454, in <module>
File "GUI1.2.8.py", line 13, in __init__
File "Tkinter.pyc", line 1643, in __init__
_tkinter.TclError: Can't find a usable init.tcl in the following directories:
{C:/Users/rectangletangle/lib/tcl8.5} {C:/Users/rectangletangle/lib/tcl8.5} C:/Users/lib/tcl8.5 {C:/Users/rectangletangle/library} C:/Users/library C:/Users/tcl8.5.8/library C:/tcl8.5.8/library
This probably means that Tcl wasn't installed properly.
这个错误看起来和我做的事情完全无关(如果我在使用 py2exe 时出错,通常会出现这个错误)。在我导入和使用 PIL 之前,一切都正常。此外,我在我的设置文件中也包含了 PIL。
编辑 2
这里有一段代码,展示了我如何使用这个图片。
self.image = ImageTk.PhotoImage(Image.open("image.png"))
self.imageLabel = Tkinter.Label(self, image=self.image)
self.imageLabel.grid(column=0, columnspan=4, row=0)
2 个回答
1
如果有人遇到这个问题,我通过在我的setup.py文件的“data_files”部分添加init.tcl来解决了这个错误信息:
setup(data_files=['D:\\Python27\\tcl\\tcl8.5\\init.tcl',
windows=["script":'myfile.py')])
1
你怎么显示图片呢?
可能是因为PIL这个库使用了tcl/tk来显示图片,所以你在设置py2exe的时候需要把tcl也包含进去。