Я пытался настроить Python сценарии (как .PY, так и .EXE через Pyinstaller) в качестве Windows Сервисов. Моя проблема заключалась в том, что большинство возникающих проблем, похоже, не связаны с моей.
Мне удалось один раз успешно настроить виртуальную среду и запустить пример службы. Однако при документировании моих шагов, попытке воссоздать виртуальную среду и запуске службы у меня возникают проблемы.
> python -m venv venv
> venv\scripts\activate.bat
> pip install pypiwin32
Затем, как указано в этом вопрос StackOverflow . Я следовал за lindsay.stevens.au ответом с запуском:
> python myvenv\Scripts\pywin32_postinstall.py -install
Затем скопировал venv\Lib\site-packages\win32\pythonservice.exe
в venv\Scripts\pythonservice.exe
Я использовал это Пример службы из HaroldMils на GitHub как app.py .
Когда я запускаю это:
> python app.py install
Installing service PythonExample
Service installed
> python app.py debug
Debugging service PythonExample - press Ctrl+C to stop.
Error 0xC0000005 - Python could find the service class in the module
<Error getting traceback - traceback.print_exception() failed
(null): (null)
Моя предыдущая виртуальная среда все еще работает, с точно такой же сценарий. Я пытался удалить виртуальную среду и пробовал снова, тот же результат. Что я делаю неправильно? Я не могу получить больше отладочной информации из этого.
В виртуальной среде, которая работает, я попытался удалить pypiwin32, переустановить, она все еще работает.
РЕДАКТИРОВАТЬ: Использование Python 3.7.1 32-бит