Я сделал макрос, который включает tesseract (для распознавания изображений), pyautogui (для управления клавиатурой и мышью), openpyxl (для чтения и записи файлов Excel), PIL (для захвата изображений), и я сделал этот код в файл .exe с помощью pyinstaller.
Он отлично работает на моем ноутбуке (64-битное устройство Windows10, я закодировал его на этом ноутбуке), но на целевом устройстве (32-битное устройство Windows7) происходит сбой приложения.
как ни странно, код хорошо работает на 10–12 (случайных) циклах макросов. Но после этого он всегда дает сбой.
Сначала это был сбой c_type, поэтому я исправил свой код, чтобы не использовать какие-либо вещи c_type, но он вылетает после тех же 10–12 циклов с другим сбоем python37.dll.
Я уверен, что python и все библиотеки python 32-битные.
Я вообще не могу установить какую-либо новую программу, такую как pycharm или python, на целевой компьютер из соображений безопасности.
Есть ли способ выяснить, в чем проблема?






Я предлагаю вам несколько советов по созданию вашего приложения с помощью Pyinstaller, которое работает для большинства ОС и обрабатывает отсутствующие зависимости:
Используйте виртуальная среда для создания своего приложения. Это даст вам лучшие результаты и позволит избежать конфликтов с текущей средой сборки Python. И всегда старайтесь установить последнюю версию Pyinstaller внутри вашей среды.
Найдите все зависимости вашего приложения и соберите столько, сколько сможете, в свой окончательный исполняемый файл в виде файлов DATA. Иногда Pyinstaller не может связать некоторые модули, поэтому вам нужно проверить их зависимости и добавить их вручную в исполняемый файл вывода. Дополнительную информацию можно найти здесь.
Если вы хотите, чтобы ваше приложение работало на более старых ОС, таких как Win7, попробуйте создать приложение на компьютере с Win7. Это связано с тем, что есть некоторые зависимости, которые поставляются с новой ОС, такой как Win10, но по умолчанию их нет в Win7.
Используйте параметры отладки с Pyinstaller и вашим кодом, чтобы лучше понять вашу проблему. Например, использование --debug=all во время сборки даст вам гораздо больше информации об ошибках. Дополнительную информацию можно найти в здесь.