Обновление 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
Кстати, я должен упомянуть, что я пытался заменить весь мой код небольшим графическим интерфейсом, который ничего не делает, кроме как там, и это сработало, так что я действительно не знаю, что думать ...