py2exe打包的配置和icon不显示问题的解决方法

py2exe


py2exe是一个制作Python发行版的小工具,它能够将.py程序编译成windows下脱离解释器的可执行程序。py2exe现在的最新版是0.69版,可以去http://www.py2exe.org/下载。安装过程也十分简便。

原创:http://www.cnblogs.com/quisis/archive/2012/09/21/2696780.html

配置和使用方法


在需要编译的程序所在目录下建立一个新的.py文件,假设要编译的文件是main.py,配置文件是compile.py:

 1 # compile.py
 2 from distutils.core import setup
 3 import py2exe
 4 
 5 options = {"py2exe":
 6     {"compressed": 1, 
 7      "optimize": 2,
 8      "bundle_files": 1,
 9      "dll_excludes": ["w9xpopen.exe"]}
10     }
11 setup(
12     windows=[{"script":"HuffmanCompress.py",
13               "icon_resources":[(1, "compresslogo.ico")]}],
14     options = options,
15     zipfile=None,
16     data_files=[("images", 
17            ["images\compress.png", "images\info.png",         
18             "images\logo.png","images\logout.png", 
19             "images\pythonPower.png",
20             "images\uncompress.png"])]
21       )

在cmd下进入当前目录,执行

python compile.py py2exe

如果找不到msvcp90.dll就去网上下载一个放在C:\Windows\System32下。如果没有错误在dist,目录下就会有我们想要的exe文件。我的目录下原来有个w9xpopen.exe,这个是windows 9x下的管道程序。在options中加入:

"dll_excludes": ["w9xpopen.exe"]}

便可以将这个程序打包入.exe中。

程序图标(icon)不显示的问题


为了是程序美观,尝试加入图标文件代替难看的.exe图标。于是便制作了一个256×256的icon文件,利用下面的配置加入:

"icon_resources":[(1, "compresslogo.ico")]

但是结果并没有如预想中的那样,依旧是丑陋的原图标。后来在stackoverflow上找到了方案,在vista和win7中图标是由多个大小不同的ico文件组成了,所以需要利用png2ico将多个png图片转化为一个ico文件。其中png2ico小工具可以去这里下载。将原来的的png文件做成16×16,32×32,48×48,248×248四个大小,然后用如下命令完成转化,假设原来的png文件为source248×248.png等四个文件,注意四个文件必须从大到小排列,否则做出的ico图标仍然无法显示

png2ico myicon.ico source248×248.png source48×48.png source32×32.png source16×16.png 

然后重新执行一遍

python compile.py py2exe

即可得到需要的样式。

下图是转化之前的效果

这个是转化之后的效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值