若要把Python開發好的應用程式交到用戶端使用,通常要在用戶端安裝Python執行環境,以及所用到的package,這工作若交由一般使用者進行,可能會有些挑戰性。一種變通的方式就是把Python腳本轉成.exe執行檔,連同用到的Python執行環境與package一起打包好,交給使用者,使用者無須煩惱前述的安裝工作,只要會啟動這些執行檔即可。
這類把Python程式打包成執行檔的工具有幾種不同選擇,這裡只談其中之一的
cx_Freeze,因為它使用上較為簡單,而且支援多種平台,本文的範例則是用在Windows平台。
cx_Freeze是一套腳本與模組,用來將Python腳本凍結(freeze)成執行檔,就像py2exe與py2app所做的。與這二者不同的是,cx_Freeze是跨平台且可在Python本身可運行的任何平台上運行。它需要Python 2.7或以上版本,且可用在Python 3。
cx_Freeze除了有可把腳本程式凍結成執行檔的功能,也有建立安裝程式的功能,但本文只談前者,因為後者有其他更進階的工具可以辦到。我自己的作法是使用cx_Freeze把程式凍結成執行檔後,再使用
Inno Setup製作安裝程式。