2014-11-06 48 views
1

嗨,我试图创建一个执行python代码的exe文件。无法正确地将Py2exe编译为一个exe文件

如果我做一个沼泽标准编译如下设置:

from distutils.core import setup 
import py2exe, sys, os, Tkinter, ttk, collections, itertools 

setup(
    windows = [{'script': "sortSimi.py"}], 
) 

它工作正常。除了事实上Dist文件夹是巨大的和unweildy。 如果我再尝试使用下面的安装文件,以便它编译成一个EXE:

from distutils.core import setup 
import py2exe, sys, os, Tkinter, ttk, collections, itertools 


setup(
    options = {'py2exe': {'bundle_files': 1, 'compressed': True}}, 
    windows = [{'script': "sortSimi.py"}], 
    zipfile = None, 
) 

它编译但后来当我运行exe它只是挂起。我检查过taskmanager。它运行约10秒,然后消失。没有GUI或任何东西出现在屏幕上。

怎么回事?

编辑: 如果我改变了“窗口”行:

console = ["sortSimi.py"] 

然后它会打开一个cmd窗口,然后通知我,该程序没有响应。 我也尝试使用第一个安装文件和'-b 1'参数来从命令行调用捆绑,而不是安装文件,同样的问题。

回答

1

bundle_files = 1在很多情况下工作不正常。

我使用bundle_files = 2并定义zipfile = r'lib\library.zip',然后用InnoSetup将批次打包到一个文件安装程序中。

如果大小是一个问题,那么你可能想要定义excluded = []dll_excludes = []列表。

+0

即使使用bundle = 2选项,它仍然不起作用。 – ashgetstazered 2014-11-06 23:50:14

+1

你需要提供更多细节!一个没有大量依赖关系和setup.py的小型可运行示例。请同时提及您正在使用的版本。 – Werner 2014-11-07 07:39:08