Windows下PyInstaller的使用教程
直接使用Python開發的軟件時有許多不方便的地方,如需要安裝特定的Python環境,需要安裝依賴庫。為了便於部署,需要將Python源代碼編譯成可執行文件,編譯後的可執行文件就能脫離python環境運行了。
安裝
將py編譯成可執行文件需要使用PyInstaller,需要註意,從百度搜索到的下載鏈接來自SourceForge,而PyInstaller的開發似乎已經轉到Github上去了,因此從SourceForge上下載的版本不是最新的。
目前最新的PyInstaller版本是2.1,最方便的安裝方式是通過pip
使用如下命令安裝:
pip install pyinstall
當然,也可以通過下載源代碼編譯方式安裝:
python setup.py install
安裝完成後,使用如下命令可以確認版本號:
pyinstaller --version
如果顯示Error: Python 2.6+ on Windows support need pywin32
,則說明當前沒有安裝pywin32,安裝後即可正常運行PyInstaller。
安裝pywin32時需要註意,pywin32的版本和本機Python位數和版本必須相同。
簡單使用
最簡單的使用方式是運行pyinstaller myscript.py
來生成可執行文件,其中myscript.py
是需要編譯成可執行文件的源代碼。
通過這種方式生成的可執行文件默認位於當前文件夾的dist目錄下的myscript目錄中,該目錄下除了有exe文件外,還有若幹個其他文件,這些文件都是運行時必須的。
編譯完成後可以刪除build文件夾,該文件夾存放的是編譯過程中的生成的臨時文件
如果希望編譯出的exe文件不依賴其他文件,可以添加-F
選項:
pyinstaller -F myscript.py
編譯出的單獨的exe文件在啟動時速度上略慢於編譯成文件夾方式。因為在執行單獨的exe時會將資源先釋放到臨時文件夾中再執行。
常用選項
–distpath=path_to_executable
指定生成的可執行文件存放的目錄,默認存放在dist目錄下
–workpath=path_to_work_files
指定編譯中臨時文件存放的目錄,默認存放在build目錄下
–clean
清理編譯時的臨時文件
-F, –onefile
生成單獨的exe文件而不是文件夾
-d, –debug
編譯為debug模式,有助於運行中獲取日誌信息
–version-file=version_text_file
為exe文件添加版本信息,版本信息可以通過運行pyi-grab_version
加上要獲取版本信息的exe文件的路徑來生成,生成後的版本信息文件可以按需求修改並作為--version-file
的參數添加到要生成的exe文件中去
i <FILE.ico>, -i <FILE.exe,ID>, –icon=<FILE.ico>, –icon=<FILE.exe,ID>
為exe文件添加圖標,可以指定圖標路徑或者從已存在的exe文件中抽取特定的ID的圖標作為要生成的exe文件的圖標
另外,還可以通過spec文件來生成可執行文件,運行pyi-makespec options script [script ...]
可以生成spec文件,修改spec文件後執行:
pyinstaller specfile
或者
pyi-build specfile
就可以生成可執行文件了。
spec文件方式生成可執行文件提供了更多的定制選項,包括自定義python庫的位置,要打包的其他文件路徑等等。
Windows下PyInstaller的使用教程