如何把一个python编译成windows的可执行文件(.exe)

本文介绍了如何通过py2exe工具将Python脚本转化为Windows平台的可执行文件.exe,包括下载py2exe、安装、编写Python脚本、创建调用py2exe的程序、运行bat文件生成dist文件夹,以及处理引用复写方法的特殊情况。
摘要由CSDN通过智能技术生成

1.下载py2exe程序

2.安装

3.写一段python  test.py

import sys
def test():
    print "HelloWorld"
if __name == "__main__":
    test()


4.再写一段python调用py2exe的程序,exce.py

from distutils.core import setup  
import py2exe  
setup(console=['test.py'])  

5.在当前路径调用cmd.bat里面写cmd.exe

  执行cmd.exe,输入命令python exce.py py2exe

即可在当前目录生成一个dist文件夹内有test.exe和其他依赖组件

6.调用test.exe

7.若有引用复写方法的时候

要这么写

from ConfigParser import ConfigParser
class CaseConfigParser(ConfigParser):
    def __init__(self):
        ConfigParser.__init__(self)

    def optionxform(self, optionstr):
        return optionstr


 

import sys
import CaseConfigParser
def modifyDSNodeIp(filename,ip):
    new_Data = ""
    DSNodeFile = open(filename,"rb")
    DSNode_Data = DSNodeFile.readlines()
    for line in DSNode_Data:
        line = line.strip()
        if line.endswith("ICD_DB_SERVICE"):
            new_line = line.replace(line,"@SERVER="+ip+"\ipcc@ICD_DB_SERVICE")
            new_Data = new_Data + new_line+"\n"
        elif line.endswith("@hpsdb"):
            new_line = line.replace(line,"@SERVER="+ip+"\ipcc@hpsdb")
            new_Data = new_Data + new_line+"\n"
        else:
            new_Data = new_Data + line+"\n"
    DSNodeFile.close()
    DSNodeFile = open(filename,"wb")
    DSNodeFile.write(new_Data)
    DSNodeFile.close()
def modifyDSParIp(filename,ip):
    new_Data = ""
    DSPar = open(filename,"rb")
    DSPar_Data = DSPar.readlines()
    for line in DSPar_Data:
        line = line.strip()
        if line.startswith("listen_ip"):
            new_line = line.replace(line,"listen_ip               ="+ip)
            new_Data = new_Data + new_line+"\n"
        else:
            new_Data = new_Data + line+"\n"
    DSPar.close()
    DSPar = open(filename,"wb")
    DSPar.write(new_Data)
    DSPar.close()
def modifyIcdcommIp(filename,ip):
    cfg = CaseConfigParser.CaseConfigParser()
    cfg.read(filename)
    cfg.set("common", "ICDTCPMYIP", ip)
    cfg.write(open(filename,"wb"))
if __name__ == "__main__":
    ip = sys.argv [ 1 ]
        
    modifyDSNodeIp("C:\\Program Files (x86)\\datastation\\bin\\DSNode.txt",ip)
    modifyDSParIp("C:\\Program Files (x86)\\datastation\\bin\\DSParameters.txt",ip)
    modifyIcdcommIp("C:\\Windows\\SysWOW64\\icdcomm.cfg",ip)
    


 

from distutils.core import setup  
import py2exe  
setup(console=['modifySQLFSScript.py','CaseConfigParser.py'])


 要把两个py 写在一起 如果分开写的话 系统找不到另外一个py

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值