1. 程式人生 > >Python指令碼如何生成Windows可執行檔案.exe

Python指令碼如何生成Windows可執行檔案.exe


Python是一種簡單而強大的程式語言,適用於編寫指令碼,甚至於應用程式的開發。Python可用的各種GUI包使得利用Python編寫全功能的應用變為可能。這很好,但你有沒有想過將你編寫的Python指令碼轉化為可執行檔案?這似乎是一個很讚的主意,有許多原因!你可以在沒有Python直譯器的情況下重新部署你的應用。終端使用者不需要在他的機器上安裝Python。你可以將你的應用閉源(很不幸)等等……這篇文章可以告訴你如何從你的Python指令碼生成win32可執行檔案。 

這篇教程將會一步一步的介紹如何從Python指令碼建立Win32可執行檔案。請確保你的系統裡已經安裝了下面的程式。

命令列程式

下面的示例程式碼會在命令列裡列印一行標題,以及從1到10的數字。

test.py

print "Python script to exe test program"

count = 0

while count < 10:
    print "count = " + str(count) +"\n"
    count = count + 1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

把這段程式碼儲存在test.py(或者別的以.py為字尾的)檔案中。用Python直譯器首先測試併成功執行這段程式碼。要完成這一步,只需要在命令列裡輸入“python test.py”。你應當在命令列裡看到下面的輸出。

測試Python指令碼命令列輸出

我們的Python指令碼已經準備好了。現在我們還需要建立一個setup指令碼。所謂的setup指令碼其實就是另外一個Python指令碼,在這個腳本里我們匯入py2exe包,並從distutils包裡匯入setup指令碼。此外,我們在這個檔案裡指定哪一個指令碼作為可執行程式的入口點。建立一個新檔案命名為setup.py並把下面的程式碼貼上進去。

setup.py

from distutils.core import setup
import py2exe

setup(console=['test.py'])
  • 1
  • 2
  • 3
  • 4

這段程式碼簡單明瞭。在setup.py中匯入setup和py2exe然後以入口點指令碼的名字為引數呼叫setup()函式。現在可以執行這個指令碼並建立可執行檔案了。建立可執行檔案時,在命令提示符裡執行“python setup.py py2exe”。你可以在命令列裡看到許多輸出。最後你可以看到下圖所示的輸出內容。

setup指令碼的輸出

構建可執行檔案的過程到此結束。現在你應該可以在\dist子目錄下看到test.exe檔案。將dist子目錄移動到合適的位置然後執行test.exe,你可以看到下面的命令列輸出。

python轉為exe後的命令列輸出

GUI應用程式

我們已經成功將Python指令碼轉化為一個可執行命令列應用程式。下面我們來試試從Python指令碼建立一個GUI可執行程式吧。使用Python建立GUI時,我們會用到Tkinter(Tk Interface)作為GUI工具包。從一個Tkinter-Python GUI指令碼建立可執行檔案非常直觀。只要遵照我們在生成命令列程式時的步驟即可建立一個GUI可執行程式。

建立一個新檔案,將下面的程式碼貼上進去,儲存並命名為“gui.py”。

gui.py

from Tkinter import *

frmMain = Tk()

label = Label(frmMain, text="Welcome to py2exe!")
label.pack()

frmMain.mainloop()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

這個程式碼也很直觀,我們匯入Tkinter工具包,建立主窗體,建立一個標籤並將其調整為內容的大小並進入程式的主迴圈。試著在命令列裡輸入“python gui.py”來執行這段指令碼。如果一切順利,你應該看到下面的視窗。

Python Tkinter GUI示例

目前為止一切順利。現在讓我們看看我們怎樣從指令碼構建windows可執行程式。建立一個新檔案命名為setup.py並將下面的程式碼貼上進去。

setup.py

from distutils.core import setup
import py2exe

setup(console=['gui.py'])
  • 1
  • 2
  • 3
  • 4

構建可執行檔案時,在命令提示符裡執行“python setup.py py2exe”。一旦構建過程完成,(將寫的指令碼全部)移動到\dist子目錄下並通過在命令列裡鍵入“gui.exe”來執行這個可執行檔案。現在你應該看到與前面用Python指令碼建立的一樣的窗體。