最近使用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 timeprint '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 timeimport test_moduleprint 'main.py - Hello World!'time.sleep(5)test_module.test_print()time.sleep(5)
仍舊使用同樣的命令打包成單一exe檔案,PyInstaller2表示毫無壓力。