打算寫一個辦公助手類的程序Zero來提高工作效率,目標平臺是Windows,開發語言首選python,畢竟是萬能的。
python開發相對來說比較容易,就是程序發布有些犯難。通常需要在機器上安裝python環境和依賴包,對普通用戶來說這直接就勸退了。
查了一下午資料,發現pyinstaller和pyoxidizer這兩個庫可以實現目標:將python程序及所有依賴打到一個獨立的Windows exe程序中。
pyoxidizer使用方法比pyinstaller復雜很多,功能目前沒看出來有何特別之處,暫時先用pyinstaller。
首先安裝pyinstaller,
C:\Python39\scripts\pip.exe install pyinstaller
再寫一個最簡單的zero.py:
import timeif __name__ == "__main__": print("I am Zero\n") time.sleep(10)
打包命令很簡單:
pyinstaller zero.py
在zero.py同級目錄下生成文件夾dst\zero,zero.exe是我們熟悉的Windows執行程序,將zero文件夾打包給用戶可以直接運行,用戶不用安裝python和其他任何依賴包,
到這里目標就完成了,但我不想發這么一大包文件給用戶,繼續稍作優化,將所有依賴打包到一個exe中:
pyinstaller -F .\zero.py
最終生成dst\zero.exe這一個文件,真正做到了all in one。
在另外一臺沒有安裝python的機器上雙擊zero.exe,程序執行正常,打包功能驗證完成。
打包成功只是第一步,完備的Windows程序還需要修改圖標、增加簽名、添加鼠標右鍵菜單等,后面隨著Zero功能的開發再一步步完善。