运行Tkinter py2exe文件时没有显示任何内容

时间:2015-11-11 13:27:59

标签: python python-2.7 tkinter py2exe

我已经编写了一个基于Tkinter的应用程序,总结如下:

import ttk
import Tkinter as tk

class MyFrame(tk.Frame):

    def __init__(self, parent):
        tk.Frame.__init__(self, parent)   
        # program code here


def main():
    root = tk.Tk()
    app = MyFrame(root)
    root.mainloop()  


if __name__ == '__main__':
    main()

通过解释器运行代码时,这很正常。然后我用py2exe编译一个exe文件,如下所示:

from distutils.core import setup
import py2exe

options = {'py2exe': {'bundle_files': 1}} 

setup( windows=["crve.py"], zipfile = None, options = options)

这似乎工作正常,所有文件都应该显示,等等。但是当我运行exe文件时,鼠标指针显示计算机正在处理某些东西几秒钟但屏幕上没有显示任何内容。

我试过在这个和其他论坛上寻找解决方案无济于事。我怎么解决这个问题?我没有要查找的错误代码。非常感谢您的帮助。

编辑1: 有些澄清是有道理的。我正在使用python 2.7和相应版本的py2win。我使用命令从cmd运行py2exe:

python setup.py py2exe

编辑2: 由于Arden的建议阅读,这个问题已经解决了。解决方案是通过添加以下内容来排除两个dll:

options = {'py2exe': {"dll_excludes": ["tcl85.dll", "tk85.dll"]}}

然后从python_path / dlls手动复制文件。

1 个答案:

答案 0 :(得分:0)

你究竟是如何运行py2exe来安装的?这个问题不是tkinter,我使用

在python3上运行你的例子
python setup.py py2exe

它给了我一个有用的错误。它声明我需要将bundle_files选项更改为2以使用tkinter。