我在使用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('.',''))]
不幸的是,这没有效果。
答案 0 :(得分:3)
写道: 添加“dll_excludes”:[“tcl85.dll”,“tk85.dll”] 并手动复制DLL。