Мой пользовательский макрос работает на моем компьютере, но дает сбой на целевом компьютере

Я сделал макрос, который включает 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, на целевой компьютер из соображений безопасности.

Есть ли способ выяснить, в чем проблема?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
0
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я предлагаю вам несколько советов по созданию вашего приложения с помощью Pyinstaller, которое работает для большинства ОС и обрабатывает отсутствующие зависимости:

  1. Используйте виртуальная среда для создания своего приложения. Это даст вам лучшие результаты и позволит избежать конфликтов с текущей средой сборки Python. И всегда старайтесь установить последнюю версию Pyinstaller внутри вашей среды.

  2. Найдите все зависимости вашего приложения и соберите столько, сколько сможете, в свой окончательный исполняемый файл в виде файлов DATA. Иногда Pyinstaller не может связать некоторые модули, поэтому вам нужно проверить их зависимости и добавить их вручную в исполняемый файл вывода. Дополнительную информацию можно найти здесь.

  3. Если вы хотите, чтобы ваше приложение работало на более старых ОС, таких как Win7, попробуйте создать приложение на компьютере с Win7. Это связано с тем, что есть некоторые зависимости, которые поставляются с новой ОС, такой как Win10, но по умолчанию их нет в Win7.

  4. Используйте параметры отладки с Pyinstaller и вашим кодом, чтобы лучше понять вашу проблему. Например, использование --debug=all во время сборки даст вам гораздо больше информации об ошибках. Дополнительную информацию можно найти в здесь.

Другие вопросы по теме