如何將python打包成可執行的exe
安裝pyinstaller
執行命令:
pip install pyinstaller
安裝完后,檢查安裝成功與否:
pyinstaller --version
PyInstaller原理簡介
PyInstaller其實就是把python解析器和你自己的腳本打包成一個可執行的文件,和編譯成真正的機器碼完全是兩回事,所以千萬不要指望成打包成一個可執行文件會提高運行效率,相反可能會降低運行效率,好處就是在運行者的機器上不用安裝python和你的腳本依賴的庫。在Linux操作系統下,它主要用的binutil工具包里面的ldd和objdump命令。
PyInstaller輸入你指定的的腳本,首先分析腳本所依賴的其他腳本,然后去查找,復制,把所有相關的腳本收集起來,包括Python解析器,然后把這些文件放在一個目錄下,或者打包進一個可執行文件里面。
可以直接發布輸出的整個文件夾里面的文件,或者生成的可執行文件。你只需要告訴用戶,你的應用App是自我包含的,不需要安裝其他包,或某個版本的Python,就可以直接運行了。
需要注意的是,PyInstaller打包的執行文件,只能在和打包機器系統同樣的環境下。也就是說,不具備可移植性,若需要在不同系統上運行,就必須針對該平台進行打包。
接下來可以打包exe了
pyinstaller -F -w main.py
-F 表示生成單個可執行文件;
-D –onedir 創建一個目錄,包含exe文件,但會依賴很多文件(默認選項)。
-w 表示去掉控制台窗口,這在GUI界面時非常有用。不過如果是命令行程序的話那就把這個選項刪除吧!;
-c –console, –nowindowed 使用控制台,無界面(默認);
-p 表示你自己自定義需要加載的類路徑,一般情況下用不到;
-i 表示可執行文件的圖標。
如果項目中使用了openpyxl的話,那么通常打包以后,exe是用不了的,那么我們需要檢查openpyxl的版本:
一般情況下,自己裝的openpyxl的版本可能過高,那么就會打包報錯,我們需要安裝一個版本低的,那么我們需要分別執行下列兩個命令:
pip uninstall openpyxl
pip install openpyxl==2.3.4
那么再重復第3步就可以打包成功了!!!!
————————————————
版權聲明:本文為CSDN博主「yuanyuan啊」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_41585840/article/details/111053523
