Python 打包exe檔案 === ## 參考資料 + [資料一](https://medium.com/pyladies-taiwan/python-%E5%B0%87python%E6%89%93%E5%8C%85%E6%88%90exe%E6%AA%94-32a4bacbe351) + [資料二](https://ithelp.ithome.com.tw/articles/10199980) ## 常用參數介紹 + pyinstaller -h 來查看參數 + -F 打包成一個exe文件 + –icon=圖標路徑 + -w 使用視窗,無控制台 + -c 使用控制台,無視窗 + -D 創建一個目錄,包含exe以及其他一些依賴性文件 ## 打包範例 1. 打包指令(檔案為根目錄底下 hello.py): + Windows使用者,會在命令框看到目前進度。 ```gherkin = pyinstaller -F .\hello.py ``` + mac 使用者的因為command line 是正斜線。 ```gherkin = pyinstaller -F ./hello.py ``` 2. 透過進度發現這個套件在執行命令之後: + 會先建立一個 hello.spec + 建立「build」 資料夾 + 建立 log紀錄檔與工作檔案於資料夾 build 中 + 建立 「dist 」資料夾 + 建立執行檔(.exe)在 「dist」 資料夾 3. 進入「dist」資料夾可看見執行檔(.exe)。 ## venv環境打包 - 優點:可以大幅度縮減檔案大小(約可縮減80%,但最少仍須10MB) - 缺點:在虛擬環境下須重新安裝程式碼所需的套件 - 建置流程: 1.建立虛擬環境資料夾 python -m venv venv 2.進入虛擬環境 .\venv\Scripts\activate.bat 3.安裝需要的套件 (包含pyinstaller) pip install pyinstaller 4.打包成exe pyinstaller -F 要打包的.py 5.離開虛擬環境 deactivitate ## 注意事項 + 何謂__pycache__ ? + 放編譯時需要的檔案用的檔案。 + 編譯不出現的方法:利用 ***python -B foo.py*** 使__ pycache__資料夾不出現。 + 執行檔案可在win8/win10,64位元的電腦運行,但win7 x64和其餘所有32位失敗,會提示不兼容,若要能32位元與64位元皆可運行,就要在Python 32位元的環境下編譯PyInstaller打包exe,才能在32位元與64位元成功。 ###### tags: `python` `exe` `venv`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up