py2exe可执行文件无法启动

时间:2012-03-21 14:46:18

标签: python py2exe

更新3:我已经使用了pyinstaller +在一个脚本中发布了我的代码,它运行正常!

更新2:我已将所有脚本放在一个单独的.py文件中,但有2000行,这真的不是我想要的方式。无论如何它似乎引导我一个新的错误/解决方案但我想知道如何使用py2exe生成.exe的答案,如果它是在不同的脚本外包,所以如果你有任何想法......

更新1:我尝试过一个简单的GUI:它可以工作,但我尝试从另一个模块启动简单的GUI,它不起作用所以我认为这里肯定有一些东西。我不知道我是否清楚,但我有一个“简单的GUI”,但我尝试了一个“启动模块”,基本上只是导入“简单的GUI”并运行它,但这不起作用。

从昨天开始,我已经完成了一段我已经工作了两周的代码。当我从python启动它时,它工作正常,并完全符合我的要求。

但是 - 总有一个但是 - 我不希望我的最终用户必须安装python甚至使用Portable Python(我正在使用它,在Windows XP上的2.7.2.1版本)如果它有帮助,则为32位。

我希望程序充其量只是一个独立的exe程序,或者至少是一个包含大量文件和可执行文件的文件夹。

所以我在去这里之前做了一些研究,发现了py2exe。我已经苦苦挣扎了一段时间,但现在我终于成功生成了一个包含大量文件和可执行文件的文件夹。

那么你会说什么问题?好吧,当我运行可执行文件时没有任何反应。这不完全正确,一个提示窗口出现1秒然后关闭,然后没有任何反应,而GUI应显示。

我不知道问题是否来自这里,但我的程序被分成不同的模块,如gui.py,calc.py,blablabla.py等。

我试图谷歌我的问题,但到目前为止没有找到任何值得关注的东西。

这是我的setup.py:

from distutils.core import setup
import py2exe
setup(console=['guiapp.py'])

我在python上启动的模块,它启动了所有guiapp.py:

import MainWindowApp
import CumulativeLogger
import logging
import gettext
_ = gettext.gettext

logging.basicConfig()
l = logging.getLogger()
l.setLevel(logging.INFO)
cl = CumulativeLogger.CumulativeLogger()
l.info(_('Lancement du Programme'))
MainWindowApp.MainWindowApp(cl).run()

最后应该启动GUI的MainWindowApp.py(缩短版):

from Tkinter import *
import tkMessageBox
import tkFileDialog
import logging
import ViewLog
import ThreadsConnector
import ActionWindow
import gettext
import app2
_ = gettext.gettext
import os

class MainWindowApp:
    def __init__(self, log):
        self.log    = log
        self.logger = logging.getLogger(self.__class__.__name__)

    def run(self):
        self.root = root = Tk()
        root.title(_('QuickGen'));

        #Buttons and things like that

        root.mainloop()

    def alotoffunctiontomakeitrun

顺便提一下,我应该提一下,我试图通过一个小的GUI来替换我的整个代码,除了那里之外什么都不做,它起作用所以我真的不知道该怎么想......

0 个答案:

没有答案