最近使用Python為項目開發一款測試載入器。因為使用者在另一個部門,領導希望能把Python指令碼發布為脫離Python平台啟動並執行可執行程式,最好是單個的exe檔案,同時也保護我們部門的源碼。PyInstaller恰滿足這個需求。目前PyInstaller的最新版本是2.0,支援Python2.7。本文將討論怎樣安裝PyInstaller2並使其正常工作。文中提到的所有工具都能下載到。本文部落格園balian原創,歡迎轉載,轉載請說明原作者。
下面的來自PyInstaller官方網站PyInstaller.org。本文來自部落格園balian。筆者使用的是Windows 7平台,下載zip版本的PyInstaller,下載後檔案名稱為pyinstaller-2.0.zip,將這個檔案解壓縮到需要的檔案夾就可以執行,不需要安裝。PyInstaller並不區分作業系統是32位還是64位,對Python是否為32位還是64位亦無要求。
安裝PyInstaller前,需要這樣一些準備:安裝Python,安裝Python Win32 Extensions,以及最好能有壓縮公用程式UPX。
關於Python,參見,紅色箭頭所示為32位版本,下載檔案名稱是python-2.7.3.msi。藍色箭頭所示為64位版本,下載後檔案名稱是python-2.7.3.amd64.msi。顯然,如果你是32位Windows XP,你只能安裝python-2.7.3.msi。如果你是64位Windows 7,則可以根據需要選擇兩者之一。Python的安裝略過。
注意,Python安裝完成以後,需要將Python的安裝目錄加入到系統的環境變數中。如。
關於Python Win32 Extensions,最新版本是Build 2.18。官網地址http://starship.python.net/~skippy/win32/Downloads.html。紅色箭頭所示是32位版本。顯然,如果選擇了運行於64位windows的Python,也請使用對應版本的PyWin。Pywin的安裝略過。
接著就是解壓縮PyInstaller。比如,將檔案解壓到c:\pyinstaller2。
關於UPX,最新版本UPX 3.08,見,官網地址http://upx.sourceforge.net/。只有紅色箭頭所示一個檔案下載,檔案名稱是upx308w.zip,並且無所謂32位還是64位作業系統。本文來自部落格園balian。請解壓這個檔案,在解壓後的檔案夾中找到檔案upx.exe,將這個檔案直接拷貝到PyInstaller的安裝資料夾裡。,比如c:\pyinstaller2。
綜合以上,如果使用PyInstaller打包工具,有32位和64位兩種解決方案。
方案一:如果是32/64位Win XP或者32/64位Win 7(本文寫作按照該方案。)
安裝python-2.7.3.msi
安裝pywin32-218.win32-py2.7.exe
解壓pyinstaller-2.0.zip
拷貝upx.exe
方案二:如果是64位Win XP或者64位Win 7
安裝python-2.7.3.amd64.msi
安裝pywin32-218.win-amd64-py2.7.exe
解壓pyinstaller-2.0.zip
拷貝upx.exe
按照方案一安裝結束後,安裝資料夾c:\pyinstaller2應如。
現在就可以從命令列來打包py指令碼了。PyInstaller 2.0和以前的版本有一些不同,使用者不需要預先運行Configure.py或者產生spec檔案。