pywin32 не может отлаживаться, если проект упакован в .exe - PullRequest
1 голос
/ 17 марта 2020

Мой проект установлен как 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 не отображает ничего больше, чем я мог видеть из консоли.

Есть ли другой способ отладки службы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...