解决python写的windows服务不能启动的问题

yipeiwu_com7年前Python基础

报“服务没有及时响应或控制请求”的错误,改用pyinstaller生成也是不行;查资料后修改setup.py如下即可,服务名、脚本名请自行替换:

复制代码 代码如下:

#!/usr/bin/python 
#-*-coding:cp936-*-
from distutils.core import setup
import py2exe

class Target:
    def __init__(self, **kw):
        self.__dict__.update(kw)
        # for the versioninfo resources
        self.version = "1.1.8"
        self.company_name = "Yovole Shanghai Co. Ltd."
        self.copyright = "Copyright (c) 2013 Founder Software (Shanghai) Co., Ltd. "
        self.name = "Guest Agent"


myservice = Target(
    description = 'Yovole Cloud Desktop Guest Agent',
    modules = ['service'],
    cmdline_style='pywin32'
    #icon_resources=[(1, "cartrigde.ico")]
)

options = {"py2exe":  
            {   "compressed": 1,  
                "bundle_files": 1
            }  
          } 

setup(
    service=[myservice],
    options = options,
    zipfile = None,
    windows=[{"script": "service.py"}],
)

 

相关文章

深入解析Python设计模式编程中建造者模式的使用

深入解析Python设计模式编程中建造者模式的使用

建造者模式:将一个复杂对象的构建与他的表示分离,使得同样的构建过程可以创建不同的表示。 基本思想 某类产品的构建由很多复杂组件组成; 这些组件中的某些细节不同,构建出的产品表象会略有不同...

Python的CGIHTTPServer交互实现详解

Python的CGIHTTPServer交互实现详解

介绍 对于服务器后端开发者而言,有时候需要把自己的一些服务直接暴露给PM或者其他RD使用,这个时候需要搭建一套web服务可以和前端用户做简单交互,按照最常规的做法,一般是用Apache或...

Python协程的用法和例子详解

Python协程的用法和例子详解

从句法上看,协程与生成器类似,都是定义体中包含 yield 关键字的函数。可是,在协程中, yield 通常出现在表达式的右边(例如, datum = yield),可以产出值,也可以不...

Python装饰器限制函数运行时间超时则退出执行

实际项目中会涉及到需要对有些函数的响应时间做一些限制,如果超时就退出函数的执行,停止等待。 可以利用python中的装饰器实现对函数执行时间的控制。 python装饰器简单来说可以在不改...

Python常用模块os.path之文件及路径操作方法

以下是 os.path 模块的几种常用方法: 方法 说明 os.path.abspath(path...