#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. Я реализовал ваше предложение, однако все равно получаю тот же результат. Есть еще идеи?