最近使用Python 3.5寫了一個GUI小程序,于是想將該寫好的程序發(fā)布成一個exe文件,供自己單獨(dú)使用。至于通過安裝的方式使用該程序,我沒有探索,感興趣的讀者可以自己摸索。
1 介紹
我使用的開發(fā)環(huán)境是python3.4(實(shí)際上我是在另一個64位的臺式機(jī)上,用python3.5開發(fā)的,不過代碼不用任何修改即可在python3.4上運(yùn)行),該環(huán)境由Anaconda提供。我開發(fā)的小GUI軟件為mergeDocGui,該程序功能完備,調(diào)試通過,等待轉(zhuǎn)成直接使用的exe程序,以在Windows操作系統(tǒng)下使用。它所提供的功能也是與Windows操作系統(tǒng)緊密聯(lián)系在一起的。
1.1 Py2Exe介紹及其安裝
py2exe for Python3 是一個distutils擴(kuò)展,可以用來創(chuàng)建python3程序的Windows下的可執(zhí)行程序(32-bit 和 64-bit);它只能支持Python3.3及以后的版本。用它可以創(chuàng)建命令行下的可執(zhí)行程序、Windows GUI可執(zhí)行程序、Windows服務(wù)和DLL/EXE COM服務(wù)器等。
由于Python3的C運(yùn)行時庫,使得我們在利用Py2Exe創(chuàng)建Python3的可執(zhí)行程序時,不用寫manifest文件。
我發(fā)現(xiàn)使用Py2Exe正好符合需求。
軟件mergeDocGui是在Python3環(huán)境下編寫的,因此只能安裝針對Python3的Py2Exe。Anaconda套件默認(rèn)沒有安裝Py2Exe,需要我們手動安裝Py2Exe。在Anaconda環(huán)境中的Python3中安裝Py2Exe使用如下命令即可:

安裝成功后,你可使用如下命令,看是否安裝成功:

2 創(chuàng)建exe方法
除了常用的創(chuàng)建setup.py方法外,Py2Exe還提供了一個命令行下的工具build_exe,讓你不費(fèi)力地直接創(chuàng)建exe文件。
因?yàn)槲业某绦蛑饕獮橐粋€mergeDocGui.py文件,所有使用build_exe即可。根據(jù)Py2Exe for Python3提供的build_exe使用幫助,或者你自己通過命令build_exe -h查看幫助,我使用如下命令創(chuàng)建自己的exe文件:

當(dāng)然,首先要保證Python程序在當(dāng)前文件夾中。在上圖中我們可以看出創(chuàng)建exe文件失敗。選項(xiàng)-b表示bundle文件的級別,具體含義請參見幫助。失敗原因說的很清楚,需要最小的級別為2,于是我調(diào)整bundle文件的級別為2:

我們發(fā)現(xiàn)創(chuàng)建成功。立刻在當(dāng)前文件夾下找到dist文件夾,里面內(nèi)容如下:

我亟不可待的運(yùn)行mergeDocGui.exe程序,發(fā)現(xiàn)一個不太好的地方,就是總是會帶出來一個console背景,如下:
新聞熱點(diǎn)
疑難解答
圖片精選