我在目录中有一个脚本
<dir>PyXLSQL
/ | \
<dir>logs <dir>script setup.py app.py config.ini
| / | \
<file>*.log xls.py sql.py __init__.py
其中app.py是主要代码,可从 script 目录调用函数并写入 logs 上的文件 我正在使用代码将脚本作为Windows服务运行
class AppServerSvc (win32serviceutil.ServiceFramework):
_svc_name_ = "PyXLSQL"
_svc_display_name_ = "Python Excel to SQL"
def __init__(self,args):
win32serviceutil.ServiceFramework.__init__(self,args)
self.hWaitStop = win32event.CreateEvent(None,0,0,None)
socket.setdefaulttimeout(60)
def SvcStop(self):
self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
win32event.SetEvent(self.hWaitStop)
def SvcDoRun(self):
servicemanager.LogMsg(servicemanager.EVENTLOG_INFORMATION_TYPE,
servicemanager.PYS_SERVICE_STARTED,
(self._svc_name_,''))
self.main()
def main (self)
我使用安装命令python app.py install
将其包括在Windows服务中。
输出:
File "app.py", line 12, in <module>
from PyXLSQL.script.xls import XLS
ModuleNotFoundError: No module named 'PyXLSQL'
为什么Python认为这是一个模块?是因为在app.py中导入错误?
from PyXLSQL.script.xls import XLS
from PyXLSQL.script.sql import SQL