從零開始學Python (29) — 打包安裝PyInstaller:誰把誰的靈魂,裝進誰的身體
Day 29 打包安裝PyInstaller:誰把誰的靈魂,裝進誰的身體
註:本篇文章同步刊載於iT邦幫忙,為鐵人賽之系列文章。
https://ithelp.ithome.com.tw/articles/10247305
因為按照慣例,第三十天主要會講比較偏向結論性質的東西,
包含接下來可能的學習方向以及建議,
所以讓我們今天用PyInstaller來做技術方面的最後一章,
恭喜各位讀者,這系列如果都有扎實的跟上的話,
應該能對Python有一些基本的認識。
PyInstaller是一個用來打包安裝Python檔案的函式庫,
一般狀況下,使用pip可以輕鬆將其安裝:
pip install pyinstaller
為什麼我們會需要PyInstaller呢?
一般狀況下有幾個可能:
- 你不想直接讓別人看到程式碼(註:但會破解的還是做得到XD)
- 你在開發過程中用了一些函式庫,
這些函式庫並非內建的,從而別人要用你的.py檔執行的話,
會需要進行其它的pip install或準備工作。
這樣很麻煩很不方便,
你希望拿到的人最好可以滑鼠點兩下就可以執行才對XD
這時候使用PyInstaller就可以達成這樣的目的,
除了可以給定簡單的加密外(防君子的那種),
它還可以將整個程式連同用到的函式庫一起打包成執行檔!
我們這邊使用前面的tkinter的範例,
讀者應該會用到的檔案就是fromzero.py和unicorn.ico,
還沒做過的同學,請參照Day 22的範例及Day 23的修改部分。
為了測試,
我們再手動加上一個其實我們沒有在這個範例使用的numpy,
請在fromzero.py中額外加入這行:
(因為它是額外pip安裝的,藉此我們可以觀察一下差異)
import numpy as np
PyInstaller的使用方式是直接在命令提示字元下指令,
使用pyinstaller -h可以查看help提示:
pyinstaller -h…