Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > Помогите разобраться с компиляцией


Автор: Gunjy 4.6.2009, 00:55
Подскажите пожалуйста в чём проблема?
Компилирую простейшую программу с помощью py2exe.
Всё замечательно компилируется и на моём компьютере запускается и работает.
Но на любом другом компьютере выдаёт ошибку:
"Приложение не было запущено, поскольку оно некорректно настроено. Повторная установка
приложения может решить данную проблему" и отказывает запускаться.

Компилирую с помощью .bat файла, содержащего всего одну строку: setup.py py2exe

Сама программка - Console.py

Код

print "Hello"
raw_input()


Файл setup.py

Код

from distutils.core import setup
import py2exe
setup(console=["Console.py"])


Та же проблема и с простейшим "оконным" приложением.

Simple.pyw

Код

import Tkinter 
root = Tkinter.Tk()
root.mainloop()


setup.py

Код

from distutils.core import setup
import py2exe
setup(windows=["Simple.pyw"])



Автор: av0000 4.6.2009, 09:57
Gunjy, Проблема в манифестах и виндовом рантайме. Питон, небось, 2.6?
Надо добавить 3 .dll и manifest (msvcr90, msvcp90, msvcm90 + Microsoft.VC90.CRT.manifest) или доставить с мелкомягка VC98 runtime

Автор: Gunjy 4.6.2009, 10:05
Спасибо, попробую.
Да, Python 2.6.2

Автор: Gunjy 4.6.2009, 13:43
А это только с версией 2.6 такие проблемы?
Может проще поставить другую версию?

Автор: av0000 4.6.2009, 15:33
Цитата(Gunjy @  4.6.2009,  13:43 Найти цитируемый пост)
А это только с версией 2.6 такие проблемы?

Можно попробовать откатиться на 2.5, но кажется, там то же самое - когда у меня под виндой был 2.5 что-то не получилось и я бросил, а потом накатил 2.6 и там не поленился-таки найти решение.

ЗЫ: в 2.5 скорее всего msvc*70.dll не будет хватать 

Автор: Gunjy 4.6.2009, 16:29
А где мне взять эти dll-ки и манифест и куда их добавить? )))

Автор: av0000 4.6.2009, 20:35
Цитата(Gunjy @  4.6.2009,  16:29 Найти цитируемый пост)
А где мне взять эти dll-ки и манифест и куда их добавить? )))

"По-честному" - скачать с сайта мелкомягких VC98 рантайм, установить и выдрать оттуда.
По-ленивому - см. аттач, вдумчиво курить setup.py на предмет вырезать оттуда лишнее - кусок из "живого" проекта - там немного лишнего.
При запуске это добро должно лежать или рядом с .ехе или где-нить в системных папках.

Автор: Gunjy 4.6.2009, 22:02
Спасибо, всё получилось, достаточно было добавить dll-ки в каталог с откомпилированной программой.
Интересно, что у меня заработало при добавлении всего 2-x вещей: Microsoft.VC90.CRT.manifest и msvcr90.

Автор: av0000 5.6.2009, 10:05
Цитата(Gunjy @  4.6.2009,  22:02 Найти цитируемый пост)
Интересно, что у меня заработало при добавлении всего 2-x вещей

Повезло. Советую проверить на разных машинах. В связке с pyQt у меня падало без доп. .dll-ок

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)