题外话:
今天在群里有人问到自己打包exe文件报错的问题,也借这个机会顺便学习下把python程序打包成EXE的方法。
这里只是记录一下,防止自己遗忘,也方便以后翻看;
如果能帮到一些同仁,那就更好了!
说明
(开发)系统环境:
python版本:
Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5 2015, 20:40:30) [MSC v.1500 64 bit (AMD64)] on win32
测试环境:
详细的打包过程
1. 下载安装py2exe, 注意选择版本(python2.7)和系统类型(64bit) http://www.lfd.uci.edu/~gohlke/pythonlibs/#py2exe
pip install py2exe-0.6.10a1-cp27-none-win_amd64.whl
2. 创建文件夹py2exedemo,然后在里面编写两个程序utils.py, hello.py 内容如下:
""" utils.py """ def note(): name = raw_input("Please input you name:") print "Welcome ", name
""" hello.py""" from utils import note def mysum(n): s = 0 for i in range(n): s += i return s if __name__ == "__main__": note() print mysum(100) # used to see a windows before end raw_input("End by input enter:")
3. 编写打包程序exe_demo1.py:
""" exe_demo1.py""" from distutils.core import setup import py2exe import sys #this allows to run it with a simple double click. sys.argv.append('py2exe') options = { "py2exe": { "compressed": 1, "optimize": 2, "bundle_files": 1 } } setup( version = "1.0.0", description = "Compute sum(100)", name = "py2exe demo", options = options, zipfile = None, console=["hello.py"] )
4. 打包,在cmd中,进入到py2exedemo文件夹,运行如下命令:
python exe_demo1.py py2exe
5. 此时会在当前文件夹生成两个文件夹dist, build
dist中包含了打包成的EXE文件hello.exe, 发布的时候连同dist文件夹一起发布即可。
6. 把dist文件夹拷贝到“说明”中的“测试环境”运行,发现能正常运行,至此完毕!
后记:
这个打包过程没有牵涉到很复杂的逻辑,主要是为了表述打包的过程,欢迎各位同仁批评指正!