PyInstaller其實就是把python解析器和妳自己的腳本打包成壹個可執行的文件,和編譯成真正的機器碼完全是兩回事,所以千萬不要指
望成打包成壹個可執行文件會提高運行效率,相反可能會降低運行效率,好處就是在運行者的機器上不用安裝python和妳的腳本依賴的
庫。在Linux操作系統下,它主要用的binutil工具包裏面的ldd和objdump命令。
PyInstaller輸入妳指定的的腳本,首先分析腳本所依賴的其他腳本,然後去查找,復制,把所有相關的腳本收集起來,包括Python解析
器,然後把這些文件放在壹個目錄下,或者打包進壹個可執行文件裏面。
可以直接發布輸出的整個文件夾裏面的文件,或者生成的可執行文件。妳只需要告訴用戶,妳的應用App是自我包含的,不需要安裝其他
包,或某個版本的Python,就可以直接運行了。
需要註意的是,PyInstaller打包的執行文件,只能在和打包機器系統同樣的環境下。也就是說,不具備可移植性,若需要在不同系統上運
行,就必須針對該平臺進行打包。
pyinstaller將Python腳本打包成可執行程序,使在沒有Python環境的機器上運行
最新版是pyinstaller 3.1.1。支持python2.7和python3.3+。
可運行在Windows,Mac和Linux操作系統下。
但它不是跨編譯的,也就是說在Windows下用PyInstaller生成的exe只能運行在Windows下,在Linux下生成的只能運行在Linux下。
基本語法:
pyinstaller options myscript.py
常用的可選參數如下:
--onefile 將結果打包成壹個可執行文件
--onedir 將所有結果打包到壹個文件夾中,該文件夾包括壹個可執行文件和可執行文件執行時需要的依賴文件(默認)
--paths=DIR 設置導入路徑
--distpath=DIR 設置將打包的結果文件放置的路徑
--specpath=DIR 設置將spec文件放置的路徑
--windowed 使用windows子系統執行,不會打開命令行(只對windows有效)
--nowindowed 使用控制臺子系統執行(默認)(只對windows有效)
--icon=<FILE.ICO> 將file.ico添加為可執行文件的資源(只對windows有效)
更多技術請關註Python視頻教程。