py2exe Bundle = 1应用程序崩溃。 Tkinter的

时间:2014-01-03 23:32:31

标签: python python-2.7 tkinter py2exe

我在使用py2exe打包脚本​​时遇到问题。它适用于Bundle = 3,但我需要一个可以完全独立运行的应用程序而不需要额外的文件。

系统:

  • win7x86

  • Python 2.7

  • 最新的py2exe

我在我的应用程序中使用以下库: 'Tkinter的', 'TTK', '时间', 'tkFont', '的urllib2', 'MD5', 'SYS', 'OS', '藏'

这是我的设置脚本:

from distutils.core import setup
import py2exe
DATA_FILES = []

APP = [{'script': 'app.py',
        'name': 'app',
        'icon_resources': [(1, 'icon.ico')]
        }]

OPTIONS = {'py2exe':{
'includes':['Tkinter','ttk','time','tkFont','urllib2','md5','sys','os','hid',"encodings", "encodings.*"],
'bundle_files': 1,
'dist_dir': './Win_Build/',
'compressed': 1,
'optimize': 1,
"dll_excludes": ['C:\\Python27\\tcl\\tcl8.5\\init.tcl',"C:\\\\Python27\\DLLs\\tcl85.dll", "C:\\\\Python27\\DLLs\\tk85.dll","C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT\*.*"]
}}


setup(
    windows=APP,
zipfile=None,
options=OPTIONS,
data_files=DATA_FILES,
version="2.0.0.0",
)

问题是,当我运行应用程序时,我得到它“应用程序已停止工作Windows可以在线检查....”

我已尝试过多次在互联网上找到的不同建议,但都会导致非独立应用程序仍然无法运行,或者在构建目录中没有任何变化。

谢谢,

编辑: 我想尽可能避免使用pyInstaller。

来自:Python py2exe window showing (tkinter)

更改后的dll排除,以及data_files ...

"dll_excludes": []
DATA_FILES = ['C:\\Python27\\DLLs\\tcl{0}.dll'.format(TCL_VERSION.replace('.','')),'C:\\Python27\\DLLs\\tk{0}.dll'.format(TK_VERSION.replace('.',''))]

不幸的是,这没有效果。

1 个答案:

答案 0 :(得分:3)

链接中的

写道: 添加“dll_excludes”:[“tcl85.dll”,“tk85.dll”] 并手动复制DLL。