Как инициализировать 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 | API Windows — Win32
Windows для бизнеса | Клиент Windows для ИТ-специалистов | Взаимодействие с пользователем | Другое
Технологии для разработчиков | Язык С++
Технологии для разработчиков | Язык С++
Высокоуровневый язык программирования общего назначения, созданный в качестве расширения языка программирования C, который имеет объектно-ориентированные, универсальные и функциональные функции в дополнение к средствам для низкоуровневой обработки памяти.
Комментариев: 0 Без комментариев
Голосов: {count}

Ваш ответ

Автор вопроса может устанавливать для ответов пометку "Принято", а модераторы — пометку "Рекомендуется". Благодаря этому пользователям становится проще понять, какой из ответов помог решить проблему автора.