py2exe 生成带图标的单个文件实例

随便拉了个学习时用的测试程序来做的实例,原程序如下:

#Filename:for.py



count=0

for i in range(1,100,2):

	count+=i

else:

	print 'that\'s over'

print count

raw_input("input Enter to quit:")

 下面是给程序写的py2exe脚本:

#name:mysetup.py



from distutils.core import setup

import py2exe



setup(version='1.0',

description='for test',

name='fortest',

options = {"py2exe": {"compressed": 1,"optimize": 2,"ascii": 0,"bundle_files": 1}},

zipfile=None,

console=[{"script":"for.py", "icon_resources": [(0, "mr.ico")]}])

写完生成脚本,建议保存在程序的相同目录,然后cd到此目录下运行命令:

python mysetup.py py2exe

 就会在此目录下生成一个dist目录和一个build目录,dist目录下的for.exe就是生成的可执行文件,旁边还有一个w9xpopen.exe的文件,明显是用来在win9x下运行用的( xp还有两个月的支持期,更不要说win9x了),这个文件可以直接删了。

        生成的文件有3.3M确实有点大,不过还是可以接受的,不知道项目大了,会不会变得太大,生成单文件的主要的参数就是"bundle_files": 1,还有zipfile=None,bundle_files值为1表示pyd和dll文件会被打包到exe文件中,且不能从文件系统中加载python模块;值为2表示pyd和dll文件会被打包到exe文件中,但是可以从文件系统中加载python模块。另外setup中使用zipfile=None可以不生成library.zip.

console=[{"script":"for.py", "icon_resources": [(0, "mr.ico")]}])

图标这句[(0, "mr.ico")要看具体的情况,如果.ico里只有一个图标就直接用0,有些ico里有3个图标,就可以用1,2,刚才直接抄人家代码来写了个1,结果没有图标。

你可能感兴趣的:(exe)