Как инициализировать python при запуске службы в Windows?

Alex 0 Баллы репутации
2024-11-08T20:03:11.79+00:00

Создаю службу на базе SFL(Windows Service Framework Library). При работе из консоли всё работает, но при запуске как службу, через "sc start", на вызове Py_Initialize и ей подобным выдаёт фатальные ошибки.

В отладчик, при падении программы, отправляется такая строка:

Fatal Python error: failed to get the Python codec of the filesystem encoding

Установка и перепроверка PYTHONPATH и PYTHONHOME не помогает.

sc query выдаёт такое:

SERVICE_NAME: ХХХ TYPE : 10 WIN32_OWN_PROCESS STATE : 1 STOPPED WIN32_EXIT_CODE : 1077 (0x435) SERVICE_EXIT_CODE : 0 (0x0) CHECKPOINT : 0x0 WAIT_HINT : 0x0

По характеристикам проекта: С++20, SDK Windows 10.0.20348.0, Visual Studio 2022 (v143), python 3.8, всё х64

Windows
Windows
Семейство операционных систем Майкрософт, работающих на персональных компьютерах, планшетах, ноутбуках, телефонах, устройствах Интернета вещей, автономных гарнитурах смешанной реальности, больших экранах совместной работы и других устройствах.
Вопросы: 21
API Windows — Win32
API Windows — Win32
Основной набор интерфейсов программирования приложений Windows (API) для классических и серверных приложений. Ранее известный как API Win32.
Вопросы: 5
C++
C++
Высокоуровневый язык программирования общего назначения, созданный как расширение языка программирования C, который имеет объектно-ориентированные, универсальные и функциональные функции в дополнение к средствам для низкоуровневой обработки памяти.
Вопросы: 3
Комментариев: 0 Без комментариев
Голосов: {count}

Ваш ответ

Автор вопроса может помечать ответы как принятые. Это позволяет пользователям узнать, что ответ помог решить проблему автора.