|
0 / 0 / 1
Регистрация: 15.12.2019
Сообщений: 107
|
||||||
keyboard.hook_key() перестает вызывать функцию после компиляции в .exe26.10.2020, 16:53. Показов 4555. Ответов 13
Метки нет (Все метки)
Кратко опишу проблему:
keyboard.hook_key('f7', TranslateAll, suppress=True) при нажатии на F7 вызывает функцию TranslateAll. Алгоритм работы функции: 1. Библиотека pyperclip вытаскивает из буфера обмена текст 2. Библиотека googletrans переводит текст 3. pyperclip вставляет обратно в б/о переведенный текст Все отлично работает, однако, после компиляции в .exe, после ~10 вызовов функции, keyboard.hook_key() перестает реагировать на нажатия или же вызывать функцию. Причем это не сопровождается какими-либо сообщениями в консоли. Просто нажимаю F7 и все - никаких ошибок. Я также пробовал заново назначать F7 в keyboard.hook_key() при ошибке (оборачивал алгоритм в try-except), но это тоже ничего не дало. В чем может быть проблема? Проблемная часть кода: (Если вы скомпилируете этот код с помощью pyinstaller "NameOfCode.py", то сможете увидеть описанную мной проблему)
Срабатывание №1Вывод при работе в виде .exe-файла: Срабатывание №1P.S. Прошу прощения за длинный текст, просто нужно было максимально разъяснить суть проблемы. И, пожалуйста, не надо тыкать мне на то, что python - интерпретируемый язык, а не компилируемый. Моя задача - верно донести смысл, так?
0
|
||||||
| 26.10.2020, 16:53 | |
|
Ответы с готовыми решениями:
13
После компиляции проекта в EXE файла функция EbExecuteLine перестает работать Перестает работать после компиляции на Android Access 2013 + Application.FileDialog(1) перестает работать после компиляции (accde) |
|
|
||||||||||||||
| 27.10.2020, 01:12 | ||||||||||||||
Сообщение было отмечено Denis Numba как решение
Решение---------------------------------------------------------- Упаковал pyinstaller'ом свое консольное приложение. Никаких проблем с хуками. P.S.
1
|
||||||||||||||
|
0 / 0 / 1
Регистрация: 15.12.2019
Сообщений: 107
|
|||||||||||
| 27.10.2020, 13:17 [ТС] | |||||||||||
|
Garry Galler, итак, прислушавшись ко всем вашим советам, немного переделал код (проблема не ушла), также прикрепляю .exe и видео с процессом его изготовления. Также по видео можно понять, что в .py-версии все работает, а вот после компиляции перестает.
Заранее обновил до последней версии все использующиеся библиотеки, включая pyinstaller. Обновленный код:
.EXE-Файл: https://drive.google.com/file/... sp=sharing Добавлено через 1 час 5 минут Даже в такой версии возникает всё та же проблема:
0
|
|||||||||||
|
|
|
| 27.10.2020, 16:00 | |
|
0
|
|
|
0 / 0 / 1
Регистрация: 15.12.2019
Сообщений: 107
|
|
| 27.10.2020, 16:17 [ТС] | |
|
Garry Galler, да, без переводчика и работы с буфером обмена у меня тоже все прекрасно работает. Как-то можно это пофиксить, чтобы экзешник нормально работал с моей функцией?
0
|
|
|
5042 / 1069 / 149
Регистрация: 29.01.2013
Сообщений: 6,241
|
|
| 27.10.2020, 16:22 | |
|
Denis Numba, Упаковка кода на пайтон в exe - это мегакастыль, который часто вводит людей в заблуждение. Надо чётко понимать, что упаковать в exe получится не всё.
1
|
|
|
|
||
| 27.10.2020, 16:29 | ||
|
Denis Numba,
У меня работает с буфером обмена. А переводчик никакой погоды не делает. Добавлено через 1 минуту
0
|
||
|
0 / 0 / 1
Регистрация: 15.12.2019
Сообщений: 107
|
||
| 27.10.2020, 16:42 [ТС] | ||
|
0
|
||
|
5042 / 1069 / 149
Регистрация: 29.01.2013
Сообщений: 6,241
|
||
| 27.10.2020, 16:47 | ||
|
0
|
||
|
|
|||
| 27.10.2020, 16:57 | |||
|
То что pyinstaller костыль это, Alli_Lupin, конечно, прав. И поэтому я им не пользуюсь. Но даже с ним у меня твой миникод без GUI работает.
0
|
|||
|
|
|
| 27.10.2020, 16:58 | |
|
del
0
|
|
|
0 / 0 / 1
Регистрация: 15.12.2019
Сообщений: 107
|
|
| 27.10.2020, 17:23 [ТС] | |
|
Garry Galler, попробовал запустить экзешник на другом пк - тот же результат. Позже, на втором пк скомпилировал тот же код и все равно получаю только 6 срабатываний.
Если не сложно, не могли бы вы скинуть ваш py-код/.exe где у вас все работает? На этом, в принципе все.
0
|
|
|
|
|||||||
| 27.10.2020, 18:14 | |||||||
|
Вот фактически твой же код. Сборка в один файл (также собирал и без onefile):
1
|
|||||||
|
0 / 0 / 1
Регистрация: 15.12.2019
Сообщений: 107
|
||||||
| 28.10.2020, 23:11 [ТС] | ||||||
|
Garry Galler, нашел источник проблемы. В строке
Сорян за лишний гемор с моими проблемами
0
|
||||||
| 28.10.2020, 23:11 | |
|
Помогаю со студенческими работами здесь
14
После загрузки exe на сервер, файл перестаёт работать
Не запускаются *.exe после компиляции Код после занесения в функцию перестаёт работать Ошибка в .exe после компиляции pyinstaller Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|