把 Python 腳本打包成能夠直接雙擊運行的 .exe 文件 【轉】

  由於最近要用到 Python 腳本,因此本身學習了一下,順便學習如何把它打包成 .exe 可執行文件,達到雙擊運行的效果,網上找了資料,保存下來學習用,原文出處:https://baijiahao.baidu.com/s?id=1606400855559470971&wfr=spider&for=pcpython

  你們都知道,Python是一種腳本語言,也就是解釋型的語言,須要解釋器來進行解釋之後才能夠執行,而Python源代碼須要在Python虛擬機上面運行,可是咱們作好的程序,不可能給用戶使用的時候還讓他安裝一個Python環境,因此今天咱們講解如何將Python程序打包爲exe可執行文件。提示: 如下的教程都是再有Python環境的基礎上的,若是沒有安裝,請先參考:Python安裝以及環境變量配置api

  

1、安裝pyinsatlleride

  打開命令行窗口,輸入以下指令:學習

                pip3 install pyinstaller測試

  而後靜待pyinstaller自動安裝好spa

  此外還要安裝好 win32api ,能夠用命令 pip install pypiwin32pip3 install pypiwin32  或 python -m pip install pypiwin32 直接下載安裝,若是沒有安裝好這個,生成的exe文件的時候,會報錯,是沒法生成 .exe 文件的,此外還要注意win32api的版本要跟你的Python編譯器的版本一致,否則安裝 win32api 時會找不到 python 註冊表命令行

2、使用pyinstaller打包Python程序code

  ①在你的Python程序文件夾上(不點進去)按住shift而且右鍵,在彈出的選項中點擊"在此處打開命令行窗口"或者「在此處打開PowerShell窗口」 或者先進入命令行窗口,而後使用cd指令進入程序文件夾blog

  

  ②輸入如下指令,開始打包教程

              pyinstaller -F (-i icofile) -w  filename

  filename表示你的Python程序文件名

  -w 表示隱藏程序運行時的命令行窗口(不加-w會有黑色窗口)

  括號內的爲可選參數,-i icofile表示給程序加上圖標,圖標必須爲.ico格式

  icofile表示圖標的位置,建議直接放在程序文件夾裏面,這樣子打包的時候直接寫文件名就好

 

  我的實操說明:這裏我實際操做的時候添加圖標就沒法生成,不加圖標按下面的命令生成就能夠,具體緣由待之後補充

  

  若是我要添加圖標就報下圖的錯誤,這裏我已經安裝好了WIN32api了的,具體形成錯誤緣由沒還沒找到

  

 

補充:

  上面說的沒法生成 ico 圖標問題,已經解決,測試是由於個人文件名後綴沒有輸入,要先生成 ico 圖標,再生成 exe 運行程序的,測試指令以下

  

 

  輸入完成,按回車,就會開始自動打包了,第一次打包過程可能比較緩慢

 

  輸入示例:

      pyinstaller -F-i tello.ico -w love.py

 

  而後咱們進入到程序目錄裏面會再看到一個名稱爲dist目錄,打包好的exe程序就在裏面

  

  注意:若是本來的程序中使用到了相應的資源,須要複製到該目錄下,不然程序會沒法運行

  好比我這裏在程序中使用到了love.png這個圖,因此就須要將該文件放到dist目錄下

 

 

最後補充一個 pyinstaller 的各個參數表

  

參數 含義
-F 指定打包後只生成一個exe格式的文件
-D –onedir 建立一個目錄,包含exe文件,但會依賴不少文件(默認選項)
-c –console, –nowindowed 使用控制檯,無界面(默認)
-w –windowed, –noconsole 使用窗口,無控制檯
-p 添加搜索路徑,讓其找到對應的庫。
-i 改變生成程序的icon圖標

 

關於有圖片音頻文件時打包成 exe 的補充:

  對於程序裏引用了圖片跟音頻的python,打包以後會出現閃退狀況,或者打開exe文件失敗的狀況,這時候只要把程序裏的圖片引用路徑改成絕對路徑,並在前面加 r 便可,以下所示:  

background_1 = pygame.image.load(r'E:\Work_file\Python_test\no.jpg').convert()
相關文章
相關標籤/搜索