Мой проект установлен как windows сервис, и все работало гладко. У меня были некоторые ошибки при использовании venv и pywin32, но в конце концов я понял это. Stackoverflow link
Однако, когда я использую pyinstaller, чтобы сделать из него исполняемый файл, начинаются проблемы.
Я использую следующую команду для создания исполняемого файла:
[Path_to_my_venv_pyinstaller] --onefile --hidden-import win32timezone myservice.py
Затем я выполняю его из cmd с помощью install
arg, служба установлена.
Однако следующий шаг, выполнение которого с помощью start
arg завершается неудачей. Сообщение об ошибке:
Starting service [Service_Name]
Error starting service: The service did not respond to the start or control request in a timely fashion.
Поэтому я попытался отладить его с помощью аргумента `` debug```. Он работает нормально, когда я устанавливаю службу без исполняемых файлов из исходных файлов. Когда служба установлена из исполняемого файла, я получаю следующую ошибку.
Debugging service [Service_Name] - press Ctrl+C to stop.
Traceback (most recent call last):
File "[Service]\[Service_Folder]\service.py", line 48, in <module>
File "lib\site-packages\win32\lib\win32serviceutil.py", line 640, in HandleCommandLine
File "lib\site-packages\win32\lib\win32serviceutil.py", line 461, in DebugService
AttributeError: module 'servicemanager' has no attribute 'Debugging'
[14252] Failed to execute script service
Я нашел похожие топи c в стеке, без ответа, ссылка здесь . Так что проблема действительно заключается в установке службы из исполняемого файла pyinstaller.
Понятия не имею, как отследить ошибку на этом, Event Viewer не отображает ничего больше, чем я мог видеть из консоли.
Есть ли другой способ отладки службы?