寫在前面
在學習 Python語言程序設計 的時候,其中有一節課提到了 PyInstaller 第三方庫。PyInstaller 可以用來打包 python 應用程序,打包完的程序就可以在沒有安裝 python 解釋器的機器上運行了。看完之后我蠢蠢欲動,試着安裝並使用,沒想到遇到了一大堆問題...
安裝
pip install pyinstaller
這句語句很簡單對不對?但是出於種種原因,我失敗了好幾次...
解決方法:
- 改鏡像。因為 PIP 使用的國外安裝源下載速度實在太慢,浪費時間。而且經常出現下載后安裝出錯問題。所以改為成國內鏡像,可以大幅提升下載速度,還可以提高安裝成功率。具體方法參見:pypi 鏡像使用幫助
- 掛 VPN。道理同上,直接翻牆下載,速度更快,成功率更高。
我個人是兩種方法都采用了才成功的(而且還嘗試了好幾次)
使用
pyinstaller xxx.py
我以為安裝完了就可以愉快的開始使用了,然鵝並不是!在執行上面那個語句的時候我出現了 SyntaxError: Non-UTF-8 code 的錯誤。
在復雜而又漫長的過程之后,我終於找到了解決方法:按照路徑找到 pyinstaller-script.py 文件, 在第一行添加 # coding=utf-8。
原文參見:pyinstaller打包出現SyntaxError: Non-UTF-8 code問題的解決方法

還要注意的是文件名最好不要采用中文,否則會報錯。

PyInstaller 庫常用參數
| 參數 | 描述 |
|---|---|
| -h | 查看幫助 |
| --clean | 清理打包過程中的臨時文件 |
| -D, --onedir | 默認值,生成dist文件夾 |
| -F, --onefile | 在dist文件夾中只生成獨立的打包文件 |
| -i <圖標文件名.ico> | 指定打包程序使用的圖標(icon)文件 |
