解决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实现基于权重的随机数2种方法

问题: 例如我们要选从不同省份选取一个号码,每个省份的权重不一样,直接选随机数肯定是不行的了,就需要一个模型来解决这个问题。 简化成下面的问题:  字典的key代表是省份,va...

使用Fabric自动化部署Django项目的实现

文中涉及的示例代码,已同步更新到HelloGitHub-Team 仓库 在上一篇教程中,我们通过手工方式将代码部署到了服务器。整个过程涉及到十几条命令,输了 N 个字符。一旦我们本地的代...

深入解析Python的Tornado框架中内置的模板引擎

深入解析Python的Tornado框架中内置的模板引擎

template中的_parse方法是模板文法的解析器,而这个文件中一坨一坨的各种node以及block,就是解析结果的承载者,也就是说在经过parse处理过后,我们输入的tornado...

教你如何在Django 1.6中正确使用 Signal

简单回答是: 在其他方法无法使用的情况下, 才最后考虑使用signal. 因为新的django开发人员得知signal之后, 往往会很高兴去使用它. 他们在能使用signal的地方就使用...

PyQt5打开文件对话框QFileDialog实例代码

本文研究的主要是PyQt5打开文件对话框QFileDialog的代码示例,具体如下。 单个文件打开 QFileDialog.getOpenFileName() 多个文件打开 QFile...