Python腳本非常強大,實現功能也比較方便快捷,但它需要在特定的Python環境下運行,受版本、依賴庫的影響很大,為了方便共享,可以使用如Pyinstaller將python代碼、依賴庫和編譯環境等一鍵打包成可執行程序exe。基本流程如下:
編譯測試腳本
為了方便演示,這里編寫兩個腳本main.py和mylib.py,前者調用后者的函數,輸出兩句話。
執行結果如下,可以看在同時也生成了名為"__pycache__"的緩存文件夾,里面放的py文件的二進制編譯結果mylib.cpython-37.pyc和mylib.cpython-37.pyc
打包應用程序
這里使用pyinstaller來打包,安裝命令:
pip install pyinstaller
打包命令
Pyinstaller -F 源碼文件.py
打包日志如下:
打包成功在dist文件中為exe可執行文件,運行效果如下:
常見問題解決
問題1:pyinstaller不是內部或者外部命令
已經安裝了pyinstaller,但執行打包命令時,仍然提示 pyinstaller不是內部或者外部命令
解決:先使用命令檢查是否正確安裝;如果已安裝將pyinstaller.exe文件拷到Python的Scripts目錄下。
pip show pyinstaller
問題2:打包工具是否有圖形化工具
解決:有的。安裝auto-py-to-exe
問題3:安裝下載組件慢。
解決:使用國內鏡像下載。如:
清華:https://pypi.tuna.tsinghua.edu.cn/simple
阿里雲:http://mirrors.aliyun.com/pypi/simple/
中國科技大學 https://pypi.mirrors.ustc.edu.cn/simple/
華中理工大學:http://pypi.hustunique.com/
山東理工大學:http://pypi.sdutlinux.org/