最近使用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文件。