Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/14: Рейтинг темы: голосов - 14, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 03.08.2011
Сообщений: 3

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

03.08.2011, 17:48. Показов 3001. Ответов 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 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru