2011-09-17 113 views
1

我已经搜遍了这个年龄,并尝试了一切。只是不能让它工作。Python 2.7(与Tkinter)项目成一个独立的EXE?

我想要做的就是让使用Tkinter的,对于Windows我的小程序的一个独立的exe文件。到目前为止,我已经完成了使其成为一个exe文件,但dist/文件夹包括一个文件夹tcl/和一个额外的exe文件。如何摆脱这些?

而且,我一直没能作的工作exe文件。这里是我的setup.py

from distutils.core import setup 
import py2exe 
import sys 
if len(sys.argv) == 1: 
    sys.argv.append("py2exe") 

setup(
    options = { 
     "py2exe": {"compressed": 1, "optimize": 2, "ascii": 1, "bundle_files": 1, "includes": ["Tkinter"]} 
     }, 
     zipfile = None, 
     windows = [ 
     { 
      "script": "hello.py", 
      "icon_resources": [(0, "icon_16.ico")] 
     } 
    ] 
) 

有了这个代码,我得到的通知“该程序停止响应”它运行后立即。

通过移除选项“ASCII”时,程序不工作,留下一个日志文件:

Traceback (most recent call last): 
    File "hello.py", line 1, in <module> 
    File "zipextimporter.pyo", line 82, in load_module 
    File "Tkinter.pyo", line 38, in <module> 
    File "zipextimporter.pyo", line 82, in load_module 
    File "FixTk.pyo", line 56, in <module> 
    File "FixTk.pyo", line 23, in convert_path 
LookupError: unknown encoding: mbcs 

我关于Python非常乐观,因为它似乎非常好的代码,并找到帮助,但是这是我无法编码任何东西没有。任何帮助表示赞赏。我是一个新来的人。

+0

参阅*** [这里](http://stackoverflow.com/questions/14566531/python-py2exe-window-showing-tkinter#14566647)***回答关于如何捆绑Tkinter的可执行文件与py2exe –

回答

0

我觉得这是与它捆绑Tkinter的方式中的错误,你不能优化或蟒蛇捆绑Tkinter的,把这些选项并尝试运行它。在“TCL”文件夹

+0

我删除了整个'选项',它运行良好。没办法让它成为一个独立的EXE呢? –

0

任何由Tkinter的需要。 Tkinter实际上是链接到一个Tcl解释器(这意味着你可以在Python中运行Tcl命令!)。正因为如此,您需要Tcl解释器所需的一切(包括对Tk的支持)。

你得到的错误是一个编码错误,并在你的选择我看到"ascii": 1。摆脱这一点,它应该解决问题。

此外,如果您计划为此编译的程序制作安装程序,则没有真正的理由使用"compressed": 1(仅在分发时才需要较小)来压缩程序。

0

你可以尝试使用在低于其基本上使用一个安装方法的位置提供了一种替代的解决方案。我无法在exe中捆绑该tcl文件夹,所以我想这应该是一个更好的解决方案。

http://www.py2exe.org/index.cgi/SingleFileExecutable

相关问题