最近使用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表示毫無壓力。