把python脚本打包成exe文件

把python脚本打包成exe文件

 

在windows下把python脚本打包成exe文件,这样在没有安装python环境的电脑上也可以运行
用py2exe包来实现
需要另外下载:http://prdownloads.sourceforge.net/py2exe
安装完之后就可以用了

 

使用方法:
如果想打包test.py成exe
首先另外新建一个文件setup.py,内容如下:

 

from distutils.core import setup
import py2exe
setup(console=["test.py"])
#这是控制台程序 如果是窗口程序则写成 windows=["test.py]

 

然后需要运行setup.py :

在windows的控制台下运行python mysetup.py py2exe

就会在目录下生成一个名为dist的子目录,
其中包含了helloworld.exe,python24.dll,library.zip这些文件。
在这种情况下,如果要把exe拷贝到别的电脑上,那么剩下的文件都是需要的,必须把整个文件夹都拷过去


如果想打包成一个exe文件,可以这么写

-*- coding: cp936 -*-
from distutils.core import setup
import py2exe

includes = ["encodings", "encodings.*"] 
#要包含的其它库文件
options = {"py2exe":
{"compressed": 1, #压缩
"optimize": 2,
"ascii": 1,
"includes":includes,
"bundle_files": 1 #所有文件打包成一个exe文件 }
}
           
setup( 
options = options, 
zipfile=None, #不生成library.zip文件
console=[{"script": "test.py",
          "icon_resources": [(1, "test.ico")] }]#源文件,程序图标
)

 

新版本已经可以打包为一个文件了,以前都是一堆dll,pyd的。
具体的变化其实只有一个地方。就是options里增加bundle_files项,值为1表示pyd和dll文件会被打包到exe文件中,
且不能从文件系统中加载python模块;值为2表示pyd和dll文件会被打包到exe文件中,但是可以从文件系统中加载python模块。
另外setup中使用zipfile=None可以不生成library.zip。

 

有时候程序可能会找不到所需要的包,可以在cmd下直接输入python mysetup.py py2exe -p (your packet)


我用的写法

from distutils.core import setup  
import py2exe  
import sys  
includes = ["encodings", "encodings.*"]    
sys.argv.append("py2exe")  
options = {"py2exe":   { "bundle_files": 1}    
                }
setup(options = options,  
      zipfile=None,   
      console = [{"script":"e:\\test.py",
                  'icon_resources':[(1, 'e:\\test.ico')]}])  

 

参考:http://python.kgblog.net/2009/06/26/use-py2exe.html

转载于:https://www.cnblogs.com/w0w0/archive/2012/05/02/2478706.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值