所以,我正在研究Python,因此也许是一个noob问题。 我正在尝试从Windows服务中运行瓶子。 如果我运行both standlone,工作得很好,如果我运行Windows服务也很好。 但是当我尝试导入瓶子并启动服务时,我收到错误:
File "C:\Users\my.username\AppData\Local\Programs\Python\Python35\lib\site-packages\bottle.py", line 74, in <module>
_stdout, _stderr = sys.stdout.write, sys.stderr.write
AttributeError: 'NoneType' object has no attribute 'write'
这是我到目前为止尝试过的代码:
import bottle #just adding this line raises the exception
import win32serviceutil
import win32service
import win32event
import servicemanager
import logging
import threading
class AppServerSvc(win32serviceutil.ServiceFramework):
_svc_name_ = 'PestService'
_svc_display_name_ = 'The Pest Service'
_svc_description_ = "This service writes stuff to a file"
def __init__(self, args):
win32serviceutil.ServiceFramework.__init__(self, args)
self.hWaitStop = win32event.CreateEvent(None, 0, 0, None)
def SvcStop(self):
self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
win32event.SetEvent(self.hWaitStop)
def SvcDoRun(self):
self.ReportServiceStatus(win32service.SERVICE_RUNNING)
win32event.WaitForSingleObject(self.hWaitStop, win32event.INFINITE)
self.main()
def main(self):
pass
if __name__ == '__main__':
win32serviceutil.HandleCommandLine(AppServerSvc)
简单地添加'import bottle'会引发异常。 我迷路了。我搜索过谷歌,但说实话,我不知道搜索什么... 就像我说的那样,将服务与瓶子分开没问题。两者都运行良好。