pyinstaller 庫的使用
PyInstaller是一個十分有用的第三方庫,它能夠在Windows、Linux、Mac OS X 等操作系統下將 Python 源文件打包,通過對源文件打包,Python 程序可以在沒有安裝 Python 的環境中運行,也可以作爲一個獨立文件方便傳遞和管理。PyInstaller 需要在命令行(控制檯)下用pip 工具安裝,如下:
pip install pyinstaller
或 pip3 install pyinstaller
pip會自動安裝這個第三方包需要的依賴模塊(比如,這裏幫我們下載了pypiwin32這個依賴)
安裝完成後,我們可以在如下路徑找到Pyinstaller應用程序。
跟pip在同一個目錄
PyInstaller 的官方網站網址爲 http://www.pyinstaller.org/ 。PyInstaller 庫會自動將 PyInstaller 命令安裝到 Python 解釋器目錄中,與 pip 或 pip3 命令路徑相同,因此可以直接使用。使用PyInstaller 庫十分簡單,
命令如下:
pyinstaller test.py
或: pyinstaller D:\myprog\test.py
執行完畢後,源文件所在目錄將生成 dist 和 build 兩個文件夾。其中,build 目錄是 pyinstaller 存儲臨時文件的目錄,可以安全刪除。最終的打包程序在 dist 內部的 test 目錄中。目錄中其他文件是可執行文件 test.exe 的動態鏈接庫。
可以通過-F 參數對 Python 源文件生成一個獨立的可執行文件,
如下:pyinstaller
-
F test.py
執行後在 dist 目錄中出現了 test.exe 文件,沒有任何依賴庫,執行它即可。使用 PyInstaller 庫需要注意以下問題:文件路徑中不能出現空格和英文句號(.);源文件必須是 UTF-8 編碼,暫不支持其他編碼類型。採用 IDLE編寫的源文件都保存爲 UTF-8 編碼形式,可直接使用。PyInstaller 有一些常用參數,如下所示:
-h, --help 查看幫助
-v, --version 查看 PyInstaller 版本
--clean 清理打包過程中的臨時文件
-D, --onedir 默認值,生成 dist 目錄
-F, --onefile
在 dist 文件夾中只生成獨立的打包文件第
-p DIR, --paths DIR 添加 Python 文件使用的第三方庫路徑
這個指令後面可以增加pyinstaller搜索模塊的路徑。因爲應用打包涉及的模塊很多。這裏可以自己添加路徑。不過,site-packages目錄下都是可以被識別的,不需要再手動添加
-i <.ico or .exe,ID or .icns>,--icon <.ico or .exe,ID or .icns >
指定打包程序使用的圖標(icon)文件
PyInstaller 命令不需要在 Python 源文件中增加代碼,只需要通過命令行進行打包即可。-F 參數最爲常用,對於包含第三方庫的源文件,可以使用-p 添加第三方庫所在路徑。如果第三方庫由 pip 安裝且在Python 環境目錄中,則不需要使用-p 參數。
例子:
pyinstaller Hello.py 已成功實現將python文件轉換爲exe文件
pyinstaller -w main.py -p d:\myprog\test; d:\myprog\test\lib 已成功實現將多個python文件轉換爲exe文件-包含庫文件(-w的目的是運行程序的時候不會出現dos窗口)多個路徑可以使用;隔開。
pyinstaller -F -w main.py -p d:\myprog\test 已成功實現將多個python文件轉換壓縮爲單個exe文件-這個纔是最需要的(-w的目的是運行程序的時候不會出現dos窗口)
pyinstaller -F -w -i pic.ico main.py -p d:\myprog\test 已成功實現將多個python文件轉換壓縮爲單個exe文件且在exe文件前面添加一個圖標-這個纔是最需要的(-w的目的是運行程序的時候不會出現dos窗口)