當我們完成一個Python項目或一個程序時,希望將Python的py文件打包成在Windows系統下直接可以運行的exe程序,那么pyInstaller就是一個很好的選擇。pyInstaller可以將Python程序打包成Windows(當然也包括Linux, Mac OS X, Solaris and AIX)下可執行的EXE文件。
1. 安裝pyinstaller
官網下載地址:http://www.pyinstaller.org/downloads.html
可以看到官網提供了兩種安裝的方式:1)通過pip直接安裝;2)下載源碼,在本地編譯安裝。
(1)通過pip安裝
方式一:直接安裝
pip install pyinstaller
方式二:通過升級的方式更新到較新的版本
pip install --upgrade pyinstaller
方式三:直接安裝當前開發版本
pip install https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz
(2)下載源碼,在本地編譯安裝
訪問上述官網下載地址,下載源碼安裝包,然后解壓安裝包,打開cmd並進入安裝包解壓目錄,可以看到該目錄下有一個setup.py的文件
運行安裝指令:
python setup.py install
當看到“Finished processing dependencies for PyInstaller==3.5.dev0+0d289e49b”字樣,說明安裝成功,也可以通過 pyinstaller -v 命令查看是否安裝成功
2.pyinstaller依賴安裝
使用pyinstaller需要安裝windows拓展Pywin32。
下載地址:https://sourceforge.net/projects/pywin32/files/pywin32/Build 221/
3. pyinstaller使用
先來看一下pyinstalller有哪些那些常用參數:
參數 | 含 義 |
---|---|
-F, --onefile | 打包一個單個文件,只生成一個exe文件。如果你的代碼都寫在一個.py文件的話,可以用這個,如果是多個.py文件就別用 |
-D, --onedir | 打包多個文件,在dist中生成很多依賴文件,適合以框架形式編寫工具代碼,代碼易於維護,推薦使用 |
--distpath | 指定生成的exe存放的目錄(.\dist) |
--workpath | 指定編譯中臨時文件存放的目錄(.\build) |
-i, --icon | 指定exe圖標 |
-p, --paths | 指定exe依賴的包、模塊 |
-d, --debug | 產生debug版本的可執行文件.編譯為debug模式,獲取運行中的日志信息 |
--clean | 清理編譯時臨時文件 |
-c, --console, --nowindowed | 使用控制台(默認方式) |
-w, --windowed, --noconsole | 使用窗口 |
--version-file | 添加exe版本信息 |
-v, --version | 版本信息查看 |
-h, --help | 查看幫助 |
示例:
(1)生成一個控制台程序
pyinstaller test.py
(2)只生成一個EXE文件
pyinstaller -F test.py
(3)只生成一個EXE文件的窗口程序
pyinstaller -F -w test.py
(4)生成一個圖標為my.icon的程序
pyinstaller -F --icon=my.icon test.py