打包成執行檔
你寫好的 .py 檔,別人要執行得先裝 Python 才行。這個專題用 PyInstaller 把程式打包成一個執行檔(Windows 上是 .exe),這樣就能直接傳給別人,對方點兩下就能開,不必裝 Python。
第一步:安裝 PyInstaller
Section titled “第一步:安裝 PyInstaller”如果你的專案是用 uv 管理的,用 uv add:
uv add pyinstaller沒有用 uv 的話,用 pip 也可以:
pip install pyinstaller第二步:打包
Section titled “第二步:打包”假設你要打包的程式叫 app.py,在它所在的資料夾執行:
pyinstaller --onefile app.py--onefile 的意思是「打包成單一檔案」。打包完成後,執行檔會出現在新產生的 dist 資料夾裡。
如果你的程式是上一章那種 tkinter 視窗程式,再加上 --windowed,這樣執行時就不會多跳出一個黑色的終端機視窗:
pyinstaller --onefile --windowed app.py想自訂執行檔的名字,加上 --name:
pyinstaller --onefile --windowed --name 我的計算機 app.py打包後會多出什麼
Section titled “打包後會多出什麼”打包完,資料夾裡會多出幾樣東西:
dist/:你要的執行檔就在這裡,要分享給別人的就是這個檔。build/:打包過程的暫存檔,可以不用管它。一個 .spec 檔:這次打包的設定,之後要重新打包可以沿用。
- 防毒軟體誤判:PyInstaller 打包出來的執行檔,有時會被防毒軟體當成可疑程式。這是這類工具常見的誤判,不是你的程式有問題。
- 檔案很大:因為它把 Python 直譯器和用到的套件全部包進去了,所以即使是很短的程式,打包出來也可能有好幾十 MB,這是正常的。
- 少了資料檔:如果你的程式會讀圖片、資料檔之類的東西,這些預設不會被打包進去,需要額外設定。單純的練習通常用不到。