Pyinstaller Python3 Windows10 — приложение не запускается из .bat-скрипта

#python #windows #batch-file #pyinstaller

#python #Windows #пакетный файл #pyinstaller

Вопрос:

Использование Python3 и Pyinstaller в Windows 10… Я создал приложение, которое отлично работает при двойном щелчке по нему или при запуске его непосредственно из командной строки. Однако он работает только с командной строкой внутри рабочего каталога (его домашнего каталога). Я хочу использовать планировщик Windows для периодического запуска приложения. Когда пришло время, когда оно должно было запуститься, окно CMD ненадолго вспыхнуло, и программа завершила работу. Поэтому я запустил его из терминала, используя c:mydirmy.exe

Я получил следующую трассировку:

 Traceback (most recent call last):
  File "My.py", line 7, in <module>
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "c:anaconda3libsite-packagesPyInstallerloaderpyimod03_importers.py", line 627, in exec_module
    exec(bytecode, module.__dict__)
  File "email2.py", line 12, in <module>
FileNotFoundError: [Errno 2] No such file or directory: 'pic.jpeg'
[10188] Failed to execute script my.exe
  

Я проверил. pic.jpeg Файл все еще там.

Просто для обхода я создал файл с именем start.bat и поместил его в рабочий каталог. Все, что я сделал, это вызвал программу с My.exe помощью . Опять же, он работает нормально изнутри каталога, но не снаружи.

Итог, я просто хочу запланировать автоматический запуск программы.

Ответ №1:

Вы должны включить pic.jpeg его как часть своего my.exe пакета. Попробуйте добавить:

 datas=[('pix.jpeg', '.')],
  

под Analysis частью вашего .spec файла. Кроме того, убедитесь, что вы создаете onefile пакет.

Комментарии:

1. Не могли бы вы дать мне еще несколько подробностей, пожалуйста. Я изменил файл спецификации и запустил Pyinstaller следующим образом pyinstaller —onefile myfile . спецификация … Я получаю сообщение об ошибке FileNotFoundError: [Ошибка № 2] Нет такого файла или каталога: ‘akespec’ … Правильно ли я ввел команду?

2. Я реализовал ваше предложение, однако все равно получаю тот же результат. Есть еще идеи?