Не удается отладить службу pywin32 - PullRequest
0 голосов
/ 29 января 2019

Я пытаюсь отладить свой сервис с помощью PythonService.exe, и я получаю странную ошибку:

PS C:\Users\rs_al\Dev\PyXLSQL> py serviceapp.py install
Installing service pyxlsql
Changing service configuration
Service updated
PS C:\Users\rs_al\Dev\PyXLSQL> py serviceapp.py debug
Debugging service pyxlsql - press Ctrl+C to stop.
Error 0xC0000004 - Python could not import the service's module

ModuleNotFoundError: No module named 'w32service'

(null): (null)

Структура проекта

serviceapp.py
    w32service\
               __init__.py
               service.py

И если я перемещаю весь код из service.py в serviceapp.py Я могу отладить его без проблем.

РЕДАКТИРОВАТЬ:

gui.py
gui\
    __init__.py
    menu.py
    pageone.py
    pagetwo.py
    pagethree.py

И он прекрасно работает как *.py или .*exe

1 Ответ

0 голосов
/ 29 января 2019

Python интерпретатор не знает, где искать ваш w32service модуль (пакет).Одним из способов было бы добавить его путь к [Python 3.Docs]: Модули - Путь поиска модуля ( до его импорта):

import sys
import os
sys.path.append(os.path.abspath(os.path.dirname(__file__)))

from w32service.service import WinService

# ...

КЧтобы прояснить ситуацию, используйте print(sys.path), прежде чем что-либо импортировать (ну, кроме sys ), чтобы увидеть, где находится Python , ищущий модули.

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