利用Python寫了一個小腳本想要傳給使用Windows但沒有裝Python的朋友執行,這時候就可以利用將檔案包裝成exe檔案,讓沒有Python的朋友也可以執行。本篇將介紹利用套件「PyInstaller」製作exe檔。 筆者環境目前為:Windows 10 (64位元)與Power Shell與Python3, PyCharm。
安裝方法- #透過pip安裝pyinstaller
- pip install pyinstaller#如果失敗可以使用以下的方法進行安裝
- pip install https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz
複製代碼
- pyinstaller -h 來查看參數
- -F 打包成一個exe文件
- –icon=圖標路徑
- -w 使用視窗,無控制台
- -c 使用控制台,無視窗
- -D 創建一個目錄,包含exe以及其他一些依賴性文件
舉個例子如下圖所示,我們編寫一個輸出Hello,Pyladies!的Python程式,並利用input()使程式可以暫時停在輸出畫面。 Windows使用者執行 - pyinstaller -F .\darknet.py
複製代碼
,會在命令框看到目前進度。
mac 使用者則是執行 - pyinstaller -F ./darknet.py
複製代碼
, 因為command line 是正斜線。
PyInstaller Python 打包 exe
可以透過進度發現這個套件在執行命令之後:- 會先建立一個 hello.spec
- 建立「build」 資料夾
- 建立 log紀錄檔與工作檔案於資料夾 build 中
- 建立 「dist 」資料夾
- 建立執行檔(.exe)在 「dist」 資料夾
進入「dist」資料夾可看見執行檔。 可執行程式,如圖所示。
何謂__pycache__ ?放編譯時需要的檔案用的檔案。 當你在python中運行程序時,解釋器首先將其編譯為字節碼(這是一個過度簡化),並將其存儲在__pycache__文件夾中。
編譯不出現的方法:利用python -B foo.py使__ pycache__資料夾不出現。
注意事項執行檔案可在win8/win10,64位元的電腦運行,但win7 x64和其餘所有32位失敗,會提示不兼容,若要能32位元與64位元皆可運行,就要在Python 32位元的環境下編譯PyInstaller打包exe,才能在32位元與64位元成功。
封裝成Linux sh 文件在Linux環境下,打包成Linux可執行程式(需要事先安裝好相關的依賴套件)
- pyinstaller -F darknet.py
複製代碼
在目錄下的dist目錄下產生darknet
參考文章
https://medium.com/pyladies-taiw ... %AA%94-32a4bacbe351
https://blog.csdn.net/qq_29277155/article/details/107554762
|