1. 程式人生 > >XZ_Python之將Python指令碼打包成可執行檔案

XZ_Python之將Python指令碼打包成可執行檔案

因為寫的Python指令碼,別人的電腦上可能沒有安裝Python,或者是沒有引入相關的類庫,導致Python指令碼執行失敗或者是使用者不會執行的情況,所以,想到把Python指令碼打包成可執行檔案,這樣使用者只需要雙擊程式就可以了,其他的什麼都不需要做。

我使用的是pyinstaller將Python指令碼打包成了可執行檔案,下面是實現的步驟:

1、安裝pyinstaller,終端輸入:pip install pyinstaller


2、安裝完之後,可以檢視版本,終端輸入:pyinstaller --version


3、執行打包,注意:需要在RecommendGUI.py同一目錄下!需要先cd到該資料夾下才有效果!

終端輸入:cd /Users/admin/Desktop/Python打包/Python打包成可執行檔案

終端輸入:pyinstaller -F /Users/admin/Desktop/Python打包/Python打包成可執行檔案/RecommendGUI.py

或者是直接終端輸入:pyinstaller -F RecommendGUI.py

因為已經在同一目錄下了,So,可以不再輸入路徑,直接輸入需要打包的檔案即可,我是直接拖入的,所以有路徑。

以下是執行結果:


執行完之後,會在資料夾中看到多了兩個資料夾,一個是build,另一個是dist,如下圖:其中,.spec是跟上面的.py同名的檔案;就是需要生成可執行檔案的檔案


在dist資料夾下就是可執行檔案,把這個可執行檔案發給別人就可以。別人雙擊之後,會自動執行,什麼都不需要做。


以下是沒有在同一目錄檔案下,執行打包語句,沒有生成dist和build資料夾的執行結果:


但是,這個可執行檔案只能在跟你的電腦系統相同的情況下才可以正常的執行,否則無法執行。

比如,我的iMac版本是10.13.1,


我將可執行檔案發給系統版本是10.12.6的電腦系統,會出現如下錯誤:


但是,在系統版本跟我一樣的電腦上是可以執行的,且沒有任何的問題,所以出現上圖的類似錯誤,說明在打包的時候要單獨適配當前執行檔案的電腦系統。

2018--5--3

系統進行升級之後,之前打包的可執行檔案還是可以執行的,說明是向上相容的,沒有向下相容。