1. 程式人生 > >Windows下PyInstaller的使用教程

Windows下PyInstaller的使用教程

生成 添加 version 可執行 debug模式 -m 自定義 添加圖標 目前

直接使用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的使用教程