Win 下使用py2exe

写在前面
临时作为记录,就先不怎样排版了。

在ubuntu上运行python程序很是方便,但是最终的结果是有产出物给他人使用(这里是我们的编辑),因此需要将py转出exe。

工具
能够使用的工具有几个,pyinstaller,cx_xxxx(忘记怎么写的),py2exe。据说都是可以转成exe,关于工具的区别就不说(其实也不了解,只是看了几篇介绍),还是使用py2exe。
使用

py2exe使用比较简单,但是一些设置只能在win32位上进行,所以不得不换成win32环境。

目标
生成一个独立的可执行文件,并有图标
-难点
    -打包设置成独立exe
    -适应系统的图标
过程

(1)打包成独立的exe文件

# coding:utf8
from distutils.core import setup
import py2exe
includes = ["encodings","encoding.*"]
options = {"py2exe":{"compressed":1,"optimize":2,
           "dll_excludes:["填写需要的dll"]""includes":"includes",
           "bundle_files":1}}
setup(
        options = options,
        zipfile = None,
        windows = [{"script":"程序本身","icon_resoureces":[(1,"图标路径")]}]


)

在里面需要注意的地方是bundle_files和zipfile的设置。

    其中bundle_files有效值为:
    3 (默认)不打包。
    2 打包,但不打包Python解释器。
    1 打包,包括Python解释器。

    zipfile的有效值为:
    不填(默认) 生成一个library.zip文件
    None 把所有东西打包进.exe文件中

注意事项:

为防止不同系统的dll不全而出现问题,最好是在dll_excludes里面将所需的dll添加进去(包括在程序运行成功后,提示的dll.)

(2)程序可以运行,但是图形界面却没有,很是影响心情。下面为程序添加图标。
在网上找了一个方法,测试可行,不过刚开始还真没看明白。
思路是:使用一个ico文件,能够包含其自身所有大小的ico文件,因为win系统为适应不用的视图。

  • 准备不同大小的png文件
  • 下载png2ico软件
  • 使用软件命令生成一个ico文件

    进入到png2ico文件夹下,输入命令
    png2ico.exe  “你需要的文件”.ico (各种自身png文件)
    

总结

(1)py2exe可以满足简单的程序打包,但是要使用类似bundle_files参数时候只能在win32位系统上执行,win64位不能执行;
(2)png2ico使用时候,需要进入到其文件目录内,调用png2ico.exe,目录不对就会找不到程序。
(3)当你的程序都很正常,但是生成的exe文件就是没有反应,尝试使用try..except进行异常处理。

参考资料:
(1)http://www.2cto.com/kf/201301/181482.html
(2)http://blog.chinaunix.net/uid-25979788-id-3064613.html
(3)http://blog.sina.com.cn/s/blog_62c832270101d9o2.html
(4)http://justcoding.iteye.com/blog/900993

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值