У меня проблемы с упаковкой моего скрипта с помощью py2exe. Он отлично работает с Bundle=3, но мне нужно приложение, которое может работать полностью автономно без дополнительных файлов.
Система:
Win7x86
Питон 2.7
Последний py2exe
В своем приложении я использую следующие библиотеки: «Tkinter», «ttk», «time», «tkFont», «urllib2», «md5», «sys», «os», «hid».
Это мой сценарий установки:
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.
From: отображение окна Python py2exe (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('.',''))]
К сожалению, это не имеет никакого эффекта.