0 / 0 / 0
Регистрация: 03.08.2011
Сообщений: 3

py2exe и cx_freeze некорректная работа

03.08.2011, 17:48. Показов 3019. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть GUI приложение с использованием wxPython для Python 2.7
при запуске cx_freeze создается exe-файл, но надписи на кнопках не отображаются.
При запуске с py2exe затребовал дополнительные библиотеки msvcr90.dll
Переписал setup.py

Python
1
2
3
4
5
6
7
8
from distutils.core import setup
import py2exe
import sys
from glob import glob
data_files = [("Microsoft.VC90.CRT", glob(r'C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT\*.*'))]
sys.path.append("C:\\Program Files\\Microsoft Visual Studio 9.0\\VC\\redist\\x86\\Microsoft.VC90.CRT")
 
setup(data_files=data_files, console=['test.py'])
Результат аналогичен работе cx_freexe, надписи на кнопках не появилось.

В чем прикол?

Добавлено через 2 часа 8 минут
Дело не в библиотеке это точно.
С командной строки программа запускается корректно.
Из заметок, при запуске главной формы, вызывается EVT_SHOW то есть как модальное окно, на котором висит вывод в лог строки.
Так вот при запуске exe сгенеринового py2exe в лог ничего не выписывается. Логично предположить, что мастдайный exe неправильно обрабатывает событие. Кстати на который и происходит прорисовка надписей на кнопках.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.08.2011, 17:48
Ответы с готовыми решениями:

Py2exe, cx_freeze
Как на python 3,5 поставить что-нибудь из этого? py2exe, cx_freeze

Некорректная работа приложения после сборки с использованием py2exe
Здравствуйте. Решил вот собрать свой python-проект. Сделал все по статье на хабре. Запускаю exe-шник, и некоторый функционал (я его вынес в...

Работа с файлом (корректный код, некорректная работа программы)
Для записи и чтения файла использую разные функции. По одиночке они работают нормально. Вставляю их прототипы в функцию main() и нижняя...

4
224 / 209 / 63
Регистрация: 26.05.2011
Сообщений: 363
04.08.2011, 04:44
Цитата Сообщение от DanikL Посмотреть сообщение
При запуске с py2exe затребовал дополнительные библиотеки msvcr90.dll
Известный баг - нужно слегка поправить файл build_exe.py. После строки 1060
Python
1
            excludes_use.append("msvcr90.dll")
нужно добавить строку
Python
1
            excludes_use.append("msvcp90.dll")
В Вашем коде я не увидел манифеста, возможно в этом причина не корректного отображения, посмотрите примеры.
0
0 / 0 / 0
Регистрация: 03.08.2011
Сообщений: 3
04.08.2011, 10:22  [ТС]
правка build_exe.py ничего не изменила, и не должна была, потому что, вместо исключения библиотеки
"msvcp90.dll" я строчками в setup.py добвляю в ...\dist 'nb dll и манифест файл.
Вот сюда:
dist
|
+-Microsoft.VC90.CRT
| |
| +-Microsoft.VC90.CRT.manifest
| +-msvcm90.dll
| +-msvcp90.dll
| +-msvcr90.dll
|
|-etc
И проблема с нехваткой dll пропадает, exe-файл генерится, запускается, и по прежнему не отрисовывает надписи на кнопках. Проблема не в dll.
"собака зарыты" в том что py2exe не правильно обрабатывает событие EVT_SHOW при создании главной формы. Действия выполняемые по этому событию НЕ ВЫПОЛНЯЮТСЯ (среди этих действия и прорисовка надписей на кнопки.)
0
0 / 0 / 0
Регистрация: 03.08.2011
Сообщений: 3
22.08.2011, 10:59  [ТС]
Никто чтоли не знает?!
0
224 / 209 / 63
Регистрация: 26.05.2011
Сообщений: 363
22.08.2011, 17:00
Попробуйте обрабатывать EVT_IDLE. В обработчике вызывать функцию IsShown() для проблемного контрола и, при необходимости выполнять прорисовку
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.08.2011, 17:00
Помогаю со студенческими работами здесь

Работа с INI: некорректная работа пользовательской функции
Ранее нашел код для работы с ini-файлами: public class INI { /// <summary> /// Чтение...

Некорректная работа
Type TArray = array of integer; function MultiplicationMatrix(Matrix1k, Matrix2k: TArray): TArray; Var i, j, index:...

Некорректная работа
Подскажите пожалуйста. Поставил win10, как-то сразу криво пошла установка anaconda. Запуск только через bat .... теперь выполняю...

Некорректная работа
Почему когда ввожу численные значения (1.2.3.4) все столбцы ровные и все корректно отображается ,но когда ввожу хоть одну букву ,то все...

Некорректная работа
добрый день!господа пожалуйста помогите советом...я журналист работаю удаленно и нахожусь там где нет ремонта...произошел сбой и сама лезть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru