cx_freeze打包py文件

   在python中比较常用的python转exe方法有三种,分别是cx_freeze,py2exe,PyInstaller。py2exe恐怕是三者里面知名度最高的一个,但是同时相对来说它的打包质量恐怕也是最差的一个。pyinstaller打包很好,但是操作工序较为复杂。推荐使用cx_freeze打包py文件。下面开始介绍。


1、下载cx_Freeze。 http://sourceforge.net/projects/cx-freeze/files/ 根据自己的系统类型和Python版本下载合适的类型,这里下载的是:cx_Freeze-4.3.3.win32-py2.7.msi


2.安装

图形界面安装cx_Freeze-4.3.3.win32-py2.7.msi完后,它会自动识别python安装的位置,自己安装到python安装目录下面。之后可以看到cxfreeze工具所在目录如下:

wKiom1OF-NWxEf64AAJHzP-k7Rg837.jpg

wKioL1OF-SSAL8LGAAKZ_qp5yjE611.jpg


3.创建setup.py配置文件

创建setup.py(可以是其他名字)。将你要打包的脚本与setup.py放在同一个目录下(本例f.py、setup.py都放在D盘),不要有中文名字.setup.py的写法参考http://cx-freeze.readthedocs.org/en/latest/distutils.html#distutils

vim setup.py

#coding:utf-8
from cx_Freeze import setup,Executable

setup(
        name = "f",
        version = "1",
        description = "To get picture from bing.com",
        executables = [Executable("f.py")]
        )


附:测试文件f.py(作用是创建一个excel文件)

#coding: utf-8
"""
        .  ,
           |\/|
           bd "n.
          /   _,"n.___.,--x.
         <co>'\             Y
          ~~   \       L   7|
                H l--'~\\ (||
                H l     H |`'
                H [     H [
           ____//,]____//,]___     _BY : CAIYAN

"""
import xlwt
from datetime import datetime
  
font0 = xlwt.Font()
font0.name = 'Times New Roman'
font0.colour_index = 2
font0.bold = True
  
style0 = xlwt.XFStyle()
style0.font = font0
  
style1 = xlwt.XFStyle()
style1.num_format_str = 'D-MMM-YY'
  
wb = xlwt.Workbook()
ws = wb.add_sheet('A Test Sheet')
  
ws.write(0, 0, 'Test', style0)
ws.write(1, 0, datetime.now(), style1)
ws.write(2, 0, 1)
ws.write(2, 1, 1)
ws.write(2, 2, xlwt.Formula("A3+B3"))
  
wb.save('example.xls')


4.编译

20130731121253093

在D盘会生成与python setup.py build命令中的build同名的文件夹,点击进去可以看到生成的f.exe可执行文件,双击f.exe即执行f.py生成example.xls

wKioL1OF_fnAQzziAAEw-Uh_cq0795.jpg


――――――――――――――――――――――

另外一种不创建setup.py的方法:

在cx_Freeze-4.3.3.win32-py2.7.msi安装正确后,也可直接打包,

cmd进入D:\Python27\Scripts>,打包命令为:

cxfreeze D:\f.py --target-dir D:\dist

f.py 是你要打包的文件,dist为目标文件夹,打包后会生成dist目录,里面就有打包后的可执行文件。



注意:

1、将exe放到其他机子上运行,弹出“找不到msvcr100.dll“。手动将”msvcr100.dll“拷贝到dist目录下即可。也许是cxfreeze的bug

2、要去掉exe里的后面黑色控制台窗口就在前面的命令改成:

cxfreeze D:\f.py --target-dir D:\dist --base-name=win32gui


你可能感兴趣的:(shell)