У меня проблема с запуском моего скрипта как службы.
Я не понимаю, что делать с путями.
Что у меня есть:
main.py (main code) service.py (template to install and run main.py
/ | \
subdir/ subdir/ config.ini
script1.py script2.py
Что в main.py:
1. Я читаю config.ini
и получаю переменные с путями, т. Е .:
[XLS]
dir = D:\\ExcelToSQL
workbook1 = workbook1.xls
workbook2 = workbook2.xls
workbook3 = workbook3.xls
[SQL]
user = root
password = password
host = localhost
database = database
port = 3306
ssl_ca =
ssl_verify_cert =
ssl_key =
ssl_cert =
encoding =
- script1 для изменения значений в книгах XLS просто функционирует с аргументами и параметрами
script2 для импорта в
MySQL DB
, опять же просто функции.
Все переменные взяты из config.ini
Основная проблема при отладке моего сервиса. Он не может читать config.ini
:
Error 0xC0000003 - The instance's SvcRun() method failed
Traceback (most recent call last):
File "C:\Python\lib\site-packages\win32\lib\win32serviceutil.py", line 839, in SvcRun
self.SvcDoRun()
File "D:\rs_al\IdeaProjects\ExcelToSQL\PyXLSQL\service.py", line 31, in SvcDoRun
self.main()
File "D:\rs_al\IdeaProjects\ExcelToSQL\PyXLSQL\service.py", line 37, in main
app()
File "D:\rs_al\IdeaProjects\ExcelToSQL\PyXLSQL\pyxlsql.py", line 14, in app
path = config.get ("XLS", "dir")
File "C:\Python\lib\configparser.py", line 780, in get
d = self._unify_values(section, vars)
File "C:\Python\lib\configparser.py", line 1146, in _unify_values
raise NoSectionError(section) from None
configparser.NoSectionError: No section: 'XLS'
(null): (null)
Я знаю, где проблема:
в main.py:
print(sys.argv[0])
выход
C:\Python\lib\site-packages\win32\PythonService.exe
Можно ли запустить службу так, как я хочу? Потому что теперь он ищет ini
файл в C: \ Python \ lib \ site-packages \ win32 \ PythonService.exe.