最近使用Python为项目开发一款测试工具。因为使用者在另一个部门,领导希望能把Python脚本发布为脱离Python平台运行的可执行程序,最好是单个的exe文件,同时也保护我们部门的源码。PyInstaller恰满足这个需求。目前PyInstaller的最新版本是2.0,支持Python2.7。接上贴,本文将讨论怎样使用PyInstaller2将Python脚本文件转化成Windows可执行exe文件。文中提到的所有工具都能下载到。本文博客园balian原创,欢迎转载,转载请说明原作者。
安装PyInstaller2步骤请见:
使用PyInstaller2将Python脚本转化为可执行文件(上-安装部分)
http://www.cnblogs.com/balian/archive/2012/11/21/2780503.html
main.py是一个简单的Python脚本,在C盘根目录的文件夹scripts中。
'''
main.py
'''
print 'main.py - Hello World!'
要将main.py转换为单个exe文件,需要在Pyintstller2安装文件夹下运行如下命令:
python pyinstaller.py -F c:\scripts\main.py
该命令具体执行效果如下图。
本文来自博客园balian。单个的main.exe文件可以在文件夹C:\pyinstaller2\main\dist找到,如图。现在main.exe可以用来发布了。
命令中参数-F表示生成单个exe文件。如果没有该参数,需要发布的就是一个文件夹了,如下图。
PyInstaller2对于Python内部模块的支持如何,使用同样的命令对如下代码打包,没有任何问题。
''' main.py ''' import time print 'main.py - Hello World!' time.sleep(10)
下面看看PyInstaller2对于用户自定义的模块怎么处理。在C盘根目录的文件夹scripts中,有文件test_module.py和main.py。分别如下:
''' test_module.py ''' def test_print(): print 'test_module.py - Import module successfully.!\n'
以及
''' main.py ''' import time import test_module print 'main.py - Hello World!' time.sleep(5) test_module.test_print() time.sleep(5)
仍旧使用同样的命令打包成单一exe文件,PyInstaller2表示毫无压力。
转自:http://www.cnblogs.com/balian/archive/2012/11/22/2782308.html