搜尋此網誌

2014年9月21日 星期日

Python 使用 PyInstaller 打包 部屬

PyInstaller 可以將軟體打包成執行檔,
需要注意的是Linux系統打包好的執行檔是不能給Windows執行的,
要讓Windows能夠執行的話就還是必須要在Windows的環境才能編譯出執行檔。

PyInstaller 有幾個特點
  • 可以直接打包成1個可執行檔
  • 在Linux, Mac, Windows都可以使用

PyInstaller 安裝

安裝PyInstaller
$ pip install pyinstaller

使用PyInstaller

1.編譯

$ pyinstaller [檔案名稱]

例如下列指令要建立Hello的執行檔
$ pyinstaller Hello.py

PyInstaller會自動將函式庫包裝,並且在dist資料夾會產生打包好的資料夾
如果需要編譯成單一執行檔則使用下列指令
$ pyinstaller -F Hello.py

在 Mac OS X 如果想要包裝成.app 的應用程式,可以加上 -w
$ pyinstaller -w Hello.py


在Windows下面,我曾經做成exe之後換到其他電腦不能執行,出現 找不到 VCRUNTIME140.DLL 的錯誤,
如果有出現一樣的錯誤,就是少了 Visual C++ Redistributable 的套件。
程式正常執行時,如果打包找不到檔案,可以使用 --paths 添加檔案的路徑

20170322 補充
Mac OS X之前常常發生程式會閃退的問題,通常是因為寫入檔案時的資料夾權限不足,
因此包裝成 app 程式時,記得路徑要使用應用程式內的路徑