Использование bundle_files = 1 с py2exe не работает

После некоторых больших разочарований я сделал это! Я преобразовал приложение django в "exe", чтобы запустить его как отдельное автономное приложение на окнах (используя cherrypy в качестве WSGI-сервера) Но когда я пытаюсь установить параметр py2exe "bundle_files" to "1" (т.е. Скомпоновать интерпретатор python Python25.dll внутри сгенерированного exe), сгенерированный exe сбой с сообщением о kernel32.dll

Но когда я использую "bundle_file" = "2", сгенерированный exe запускается как шарм, но должен иметь, конечно, Python25.dll как отдельный файл рядом с ним.

Кто-то испытал подобное поведение, не могли бы вы рассказать мне, что мне не хватает?

Спасибо!:)

Ответ 1

Возможно, вы можете попробовать pyinstaller.

У меня была эта проблема раньше и не нашел решения когда-либо, но pyinstaller удовлетворяет мою потребность и отлично работает.

Ответ 2

В этом сообщении рассказывается о том, как использовать py2exe для получения одного файла exe.

py2exe - сгенерировать один исполняемый файл

Если вы разместите код, я посмотрю, и ваше сообщение об ошибке поможет.

Ответ 3

У меня также возникла аналогичная проблема. Но моя с PyGTK. У простой программы нет проблем с этим. Хотя нет прямого решения, есть объяснение здесь.

В нем говорится:

Это основано на примере кода Inno в дистрибутиве py2exe. Он успешно работал для довольно сложного приложения PyGTK/Twisted, требующего дополнительных данных во время выполнения (данные времени выполнения GTK, файлы GtkBuilder, изображения, текстовые данные), которые просто не будут работать с bundle_files.

Ответ 4

Здесь Решение:

from distutils.core import setup
import py2exe, sys, os

sys.argv.append('py2exe')

setup(
    options = {'py2exe': {'bundle_files': 3}},
    windows = [{'script': "Your_App_Name.py"}],
    zipfile = None,
)