Как раз когда я подумал, что на 100% готов с приложением, оказалось, что я ошибался. Приложение использует APScheduler для одновременного запуска нескольких событий и до сих пор тестировалось только в режиме разработки, объединяя его в один файл .exe с помощью Pyinstaller с видимой консолью для целей отладки.
Очень понравилось Я наконец могу удалить окно консоли, чтобы передать его другим, я был удивлен, увидев, что удаление консоли, похоже, нарушает работу APScheduler. Время выполнения задач неправильное. Вместо того, чтобы в следующий раз запустить задачу, она устанавливает текущее время, и никакие запланированные события не выполняются. Я попытался перетащить его в cmd, чтобы увидеть, показывает ли он там какие-либо ошибки, но он просто остается пустым. Все остальное, кажется, работает нормально, GUI, код в системном трее, SQL таблицы и т. Д. c ..
Вкратце, я использую код:
pyinstaller --add-data images.png;. --onefile --icon=trayicon.ico -w script.py
Я также пробовал команду --windowed. Как ни странно, --noconsole отображается как нераспознанный аргумент.
Я попытался превратить его в файл .pyw, но наблюдается та же проблема.
Может ли кто-нибудь объяснить:
Что на самом деле происходит на более глубоком уровне, когда вы удаляете консоль / окно из исполняемого файла? Это могло бы указать мне правильный путь к выяснению беспорядка с APScheduler.
Есть ли способ просто скрыть консоль / окно в фоновом режиме вместо того, чтобы полностью удалить его?
PS: Я использую Windows 10, Anaconda 3, Python 3.7.6, Spyder IDE