python指令碼使用py2exe產生可執行檔

來源:互聯網
上載者:User

要使用py2exe,首先要編寫一個編譯指令碼,然後通過Python運行編譯指令碼即可將其他的指令碼編譯成可執行檔。以下執行個體是將要編譯成可執行檔的指令碼。

    

#file: MessageBox.py
import win32api
import win32con
win32api.MessageBox(0, 'hi!', 'Python', win32con.MB_OK)

以下執行個體是編譯指令碼。

    

#file: setup.py
import distutils
import py2exe
distutils.core.setup(windows=['MessageBox.py'])

在Windows的cmd視窗中輸入“setup.py  py2exe”,將得到如下輸出:

    

running py2exe
*** searching for required modules ***
*** parsing results ***
creating python loader for extension 'win32api'
creating python loader for extension 'unicodedata'
creating python loader for extension 'bz2'
*** finding dlls needed ***
*** create binaries ***
*** byte compile python files ***
************************************************************
部分輸出省略
************************************************************
byte-compiling E:\book\code\py2exe\build\bdist.
win32\winexe\temp\unicodedata.py
to unicodedata.pyc
byte-compiling E:\book\code\py2exe\build\bdist.
win32\winexe\temp\win32api.py to
win32api.pyc
*** copy extensions ***
*** copy dlls ***
copying D:\Python25\lib\site-packages\py2exe\run_w.exe ->
E:\book\code\py2exe\di
st\MessageBox.exe

*** binary dependencies ***
Your executable(s) also depend on these dlls which are
not included,
you may or may not need to distribute them.

Make sure you have the license if you distribute
any of them, and
make sure you don't distribute files belonging to the
operating system.

OLEAUT32.dll - C:\WINDOWS\system32\OLEAUT32.dll
USER32.dll - C:\WINDOWS\system32\USER32.dll
SHELL32.dll - C:\WINDOWS\system32\SHELL32.dll
ole32.dll - C:\WINDOWS\system32\ole32.dll
ADVAPI32.dll - C:\WINDOWS\system32\ADVAPI32.dll
VERSION.dll - C:\WINDOWS\system32\VERSION.dll
KERNEL32.dll - C:\WINDOWS\system32\KERNEL32.dll

運行完編譯指令碼以後會在當前檔案夾下產生dist和build兩個目錄。其中dist目錄中就是編譯產生的檔案。如果要在其他未安裝Python的機器上運行編譯好的程式,只要將dist目錄複寫到其他機器上即可。雙擊運行MessageBox.exe,10-4所示。

在setup.py中除了匯入必需的模組以外,只有一條語句。

distutils.core.setup(windows=['MessageBox.py'])

方括弧中就是要編譯的指令碼名,前邊的windows表示將其編譯成GUI程式。如果要編譯命令列介面的可執行檔,只要將windows改為console。重新編譯MessageBox.py後,雙擊運行,10-5所示。可以看到運行程式後多了一個命令列視窗。另外,如果需要將指令碼編譯成Windows服務,則可以使用service選項。

  圖10-4   MessageBox.exe

 

註:此內容是從互連網上搜取轉載的!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.