PIL和py2exe的问题

时间:2010-11-17 08:08:02

标签: python python-imaging-library py2exe

我正在尝试使用py2exe将使用.png图像的GUI程序转换为.exe。它使用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 个答案:

答案 0 :(得分:1)

如何显示图像?

也许PIL使用tcl / tk来img.show(),这就是你应该在你的py2exe安装脚本中包含tcl的原因。

答案 1 :(得分:1)

为了防止有人遇到此问题,我可以通过将init.tcl添加到setup.py文件中的“data_files”部分来修复此错误消息:

setup(data_files=['D:\\Python27\\tcl\\tcl8.5\\init.tcl',
      windows=["script":'myfile.py')])