瓶子和pywin32不能正常工作

时间:2018-03-23 19:49:32

标签: python python-3.x bottle pywin32

所以,我正在研究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'会引发异常。 我迷路了。我搜索过谷歌,但说实话,我不知道搜索什么... 就像我说的那样,将服务与瓶子分开没问题。两者都运行良好。

0 个答案:

没有答案