исполняемый файл py2exe не запускается - PullRequest
3 голосов
/ 21 марта 2012

Обновление 3: Я использовал pyinstaller + отправил свой код в одном скрипте, и он отлично работает!

Обновление 2: Я положил все своискрипты в одном файле .py, но их примерно 2000 строк, и я бы не хотел этого делать.В любом случае, это, кажется, приводит меня к новому следу ошибки / решения, но я хочу знать ответ на вопрос о том, как сгенерировать .exe с py2exe, если он передан в другие сценарии, так что если у вас есть идеи ...

Обновление 1: Я пытался с простым графическим интерфейсом: он работает, но я пытался запустить простой графический интерфейс из другого модуля, и он не работает, поэтому я думаю, что здесь что-то определенно есть.Я не знаю, ясно ли у меня, но у меня есть «простой графический интерфейс», который работает, но я попробовал «стартовый модуль», который в основном просто импортирует «простой графический интерфейс» и запускает его, но это не работает.

Со вчерашнего дня я закончил фрагмент кода, над которым работал две недели.Он отлично работает, когда я запускаю его из python и делает именно то, что я хочу.

Но - всегда есть но - дело в том, что я не хочу, чтобы мой конечный пользователь устанавливал python или даже использовалPortable Python (который я использую, кстати, версия 2.7.2.1 на 32-битной Windows XP, если это поможет).

Я бы хотел, чтобы программа была в лучшем случае автономным exe или хотя быпапка с большим количеством файлов и исполняемым файлом.

Итак, перед тем, как перейти сюда, я провел небольшое исследование и обнаружил py2exe.Некоторое время я боролся с этим, но теперь мне, наконец, удалось создать папку с большим количеством файлов и исполняемым файлом.

Так в чем проблема, вы бы сказали?Хорошо, когда я запускаю исполняемый файл, ничего не происходит.Это не совсем верно, окно подсказки появляется на 1 секунду, затем закрывается, а затем ничего не происходит, в то время как графический интерфейс должен отображаться.

Я не знаю, возникает ли проблема отсюда, но моя программа разделена на разные модули, такие какgui.py, calc.py, blablabla.py и т. д.

Я пытался погуглить мою проблему, но пока не нашел ничего интересного.

Вот мои настройки.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()

И, наконец, 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

Кстати, я должен упомянуть, что я пытался заменить весь мой код небольшим графическим интерфейсом, который ничего не делает, кроме как там, и это сработало, так что я действительно не знаю, что думать ...

...