使用Py2ExeforPython3創(chuàng)建自己的exe程序示例-創(chuàng)新互聯(lián)

最近使用Python 3.5寫了一個GUI小程序,于是想將該寫好的程序發(fā)布成一個exe文件,供自己單獨使用。至于通過安裝的方式使用該程序,我沒有探索,感興趣的讀者可以自己摸索。

成都創(chuàng)新互聯(lián)公司一直在為企業(yè)提供服務,多年的磨煉,使我們在創(chuàng)意設計,營銷型網(wǎng)站到技術(shù)研發(fā)擁有了開發(fā)經(jīng)驗。我們擅長傾聽企業(yè)需求,挖掘用戶對產(chǎn)品需求服務價值,為企業(yè)制作有用的創(chuàng)意設計體驗。核心團隊擁有超過十載以上行業(yè)經(jīng)驗,涵蓋創(chuàng)意,策化,開發(fā)等專業(yè)領域,公司涉及領域有基礎互聯(lián)網(wǎng)服務德陽機房托管、手機APP定制開發(fā)、手機移動建站、網(wǎng)頁設計、網(wǎng)絡整合營銷。

1 介紹

我使用的開發(fā)環(huán)境是python3.4(實際上我是在另一個64位的臺式機上,用python3.5開發(fā)的,不過代碼不用任何修改即可在python3.4上運行),該環(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擴展,可以用來創(chuàng)建python3程序的Windows下的可執(zhí)行程序(32-bit 和 64-bit);它只能支持Python3.3及以后的版本。用它可以創(chuàng)建命令行下的可執(zhí)行程序、Windows GUI可執(zhí)行程序、Windows服務和DLL/EXE COM服務器等。

由于Python3的C運行時庫,使得我們在利用Py2Exe創(chuàng)建Python3的可執(zhí)行程序時,不用寫manifest文件。

我發(fā)現(xiàn)使用Py2Exe正好符合需求。

軟件mergeDocGui是在Python3環(huán)境下編寫的,因此只能安裝針對Python3的Py2Exe。Anaconda套件默認沒有安裝Py2Exe,需要我們手動安裝Py2Exe。在Anaconda環(huán)境中的Python3中安裝Py2Exe使用如下命令即可:

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

2 創(chuàng)建exe方法

除了常用的創(chuàng)建setup.py方法外,Py2Exe還提供了一個命令行下的工具build_exe,讓你不費力地直接創(chuàng)建exe文件。

因為我的程序主要為一個mergeDocGui.py文件,所有使用build_exe即可。根據(jù)Py2Exe for Python3提供的build_exe使用幫助,或者你自己通過命令build_exe -h查看幫助,我使用如下命令創(chuàng)建自己的exe文件:

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

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

我亟不可待的運行mergeDocGui.exe程序,發(fā)現(xiàn)一個不太好的地方,就是總是會帶出來一個console背景,如下:

為了解決上述問題,我參閱了py2exe 0.9.2.0的幫助文檔。我采用了通常的先編寫setup.py腳本的方法:

from distutils.core import setup
import py2exe

setup(windows=['mergeDocGui.py'])

網(wǎng)站欄目:使用Py2ExeforPython3創(chuàng)建自己的exe程序示例-創(chuàng)新互聯(lián)
新聞來源:http://www.muchs.cn/article22/dpgecc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設品牌網(wǎng)站建設、建站公司、外貿(mào)網(wǎng)站建設、自適應網(wǎng)站、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務器托管