Python 使用Py2exe进行bin化
1、简说
Py2exe是可以把python程序传化为exe的工具,它比较强大也非常好用。但是它会生成多个文件。如果需要只生成一个文件可以考虑使用pyInstaller.
有个人写过对pyinstaller相关文章http://cloudbbs.org/forum.php?mod=viewthread&tid=13537
py2exe我个人用得比较好,我在win8.1上打的包在xp\win7上都是可以使用的。只有特别的xp系统如ghost版会出现某个DLL文件找不到而无法运行的情况
2、下载安装
这个是下载地址:http://prdownloads.sourceforge.net/py2exe 找到于你的python对应的版本我的是python2.7
安装就是正常的双击安装 注意这里有官方用例lib\site-packages\py2exe\samples
3、用法
Py2exe使用之前你需为你的工程建立一个PyConvertExe.py的文件
from distutils.core import setup import py2exe setup(console=["DeployPrinter.py"], data_files=[(".",["InstallPrinter.dll","Setting.xml"])] )
这里InstallPrinter.dll是我用C++写的库而Setting.xml是我的配制文件。打包的时候被主程序DeployPrinter.py引用的类文件会自动入包,但外连的库和配制文件是需要自已手动配制到这个文件中。
之后保证这个文件与你的Deployprinter.py等文件同一目录 在控制台执行:python PyConvertExe.py py2exe
上面的命令执行后将产生一个名为dist的子目录,其中包含了DeployPrinter.exe,python27.dll,library.zip这些文件。
还有我的工程需要用到的installprinter.dll 和 setting.xml文件等。因项目不同而不一样。
上面的PyConvertExe.py创建了一个控制台的DeployPrinter.exe程序,如果你要创建一个图形用户界的程序,那么你只需要将mysetup.py中的console=["DeployPrinter.py"]替换为windows=["DeployPrinter.py"]既可。
我的项目基本上就用到这个功能,如有机会有到py2exe更多的功能再来为此文章丰富