1. 手动制作python的exe可执行程序 -- by Leo Jay
Python没有内建一个编译为exe的功能。给python程序的部署带来不少的麻烦。
所以就会出现一些py2exe之类的很不错的工具,用于自动把.py文件编译为.exe文件。
最近抽空研究了一下手动实现类似py2exe的功能,希望加强对python的了解。
结果还相当不错。把结果记录下来,与大家共享。
1.1. 原理
文中所描述的方法,基于python的以下几个功能
1. python程序运行时,会在sys.path指定的路径中查找库文件。
2. python从2.3开始,支持从zip文件中import库(支持.py,.pyc和.pyo,但不支持.pyd)
3. python提供C API,让c语言的程序,可以很方便的调用python的程序
1.2. 实际步骤
注:假设python安装在c:/python25目录中,最后的可执行文件放到d:/dist目录中
1. 先去c:/python25/Lib目录,把所有文件都复制出来,比如复制到d:/pythonlib目录中
2. 开一个cmd窗口,进入d:/pythonlib目录中,运行 python -OO compileall.py -f . 把lib中的.py文件都编译成.pyo文件
3. 删除d:/pythonlib目录中所有的.py和.pyc文件,因为我们只要有.pyo文件就可以让这些库运行了。
4. 删除目录中所有用不着的文件,比如curses,test,idlelib,msilib等,以减少生成文件的体积。