1. 程式人生 > >.py to .exe (by py2exe)

.py to .exe (by py2exe)

三、py2exe的用法

如果你有一個名為helloworld.py的python指令碼,你想把它轉換為執行在windows上的可執行程式,並執行在沒有安裝python的windows系統上(這個是重點),那麼首先你應寫一個用於釋出程式的設定指令碼例如mysetup.py(該檔案最好放置在你所要轉換的檔案的同一目錄下),在其中的setup函式前插入語句import py2exe 。
mysetup.py示例如下:
# mysetup.py
from distutils.core import setup
import py2exe

setup(console=["helloworld.py"])

然後按下面的方法執行mysetup.py:


python mysetup.py py2exe
上面的命令執行後將產生一個名為dist的子目錄,其中包含了helloworld.exe,python24.dll,library.zip這些檔案。
如果你的helloworld.py指令碼中用了已編譯的C擴充套件模組,那麼這些模組也會被拷貝在個子目錄中,同樣,所有的dll檔案在執行時都是需要的,除了系統的dll檔案。
dist子目錄中的檔案包含了你的程式所必須的東西,你應將這個子目錄中的所有內容一起釋出。

預設情況下,py2exe在目錄dist下建立以下這些必須的檔案:
1、一個或多個exe檔案。
2、python##.dll。 
3、幾個.pyd檔案,它們是已編譯的副檔名,它們是exe檔案所需要的;加上其它的.dll檔案,這些.dll是.pyd所需要的。

4、一個library.zip檔案,它包含了已編譯的純的python模組如.pyc或.pyo
上面的mysetup.py建立了一個控制檯的helloword.exe程式,如果你要建立一個圖形使用者界的程式,那麼你只需要將mysetup.py中的console=["helloworld.py"]替換為windows=["myscript.py"]既可

py2exe一次能夠建立多個exe檔案,你需要將這些指令碼檔案的列表傳遞給console或windows的關鍵字引數。如果你有幾個相關聯的指令碼,那麼這是很有用的。
執行下面個命令,將顯示py2exe命令的所有命令列標記。
python mysetup.py py2exe --help