2014-01-03 3 views
1

У меня возникли проблемы с упаковкой моего скрипта с py2exe. Он отлично работает с Bundle = 3, но мне нужно приложение, которое может работать полностью автономно без дополнительных файлов.py2exe Bundle = 1 Сбой приложений. Tkinter

система:

  • win7x86

  • Python 2.7

  • Последние py2exe

Я использую следующие LIBS в моем приложении: 'Tkinter',» TTK», 'время', 'tkFont', 'urllib2', 'md5', 'SYS', 'ОС' «Спрятался»

Это моя установка скрипта:

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, можно проверить на сайте ....»

Я пробовал несколько разных предложений, которые я нашел в Интернете, но все они либо приводят к не-автономному приложению, и все равно не будут выполняться, или вообще ничего не изменится в каталоге сборки.

Спасибо,

EDIT: Я хотел бы избежать использования 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('.',''))] 

К сожалению, это не имеет никакого эффекта.

ответ

3

в сообщении написано: Добавить "dll_excludes": ["tcl85.dll", "tk85.dll"] и скопировать dll вручную.

+0

Большое спасибо, похоже, исправили мою проблему! – theshadow124

+0

К сожалению, не говорил слишком рано, после выполнения очистки и восстановления он больше не работает – theshadow124

+0

я теперь получаю следующее сообщение об ошибке: 'Traceback (самый последний вызов последний): Файл«test.py», строка 6, в Файл "zipextimporter.pyc", строка 82, в load_module Файл "Tkinter.pyc", строка 38, в Файл "zipextimporter.pyc", строка 82, в load_module Файл "FixTk.pyc", строка 65, in Файл «zipextimporter.pyc», строка 98, в load_module ImportError: MemoryLoadLibrary не удалось загрузить _tkinter.pyd' – theshadow124

Смежные вопросы