脫離Python環(huán)境運(yùn)行的問題所使用的工具介紹
如果你對脫離Python環(huán)境運(yùn)行中存在不解之處時(shí),就可以瀏覽以下的文章對如何脫離Python環(huán)境運(yùn)行的相關(guān)實(shí)際操作,希望你在瀏覽完下面的文章對其有個相關(guān)的了解,以下就是文章的具體描述。
關(guān)于脫離Python環(huán)境運(yùn)行的問題,再次重申。
如果你在Python環(huán)境運(yùn)行中,只是希望用戶運(yùn)行一個單獨(dú)的程序而不需要預(yù)先下載一個python的發(fā)行版,則并不需要將Python代碼編譯成C代碼。有很多工具可以找出程序依賴的模塊并將這些模塊 與程序綁定在一起以產(chǎn)生一個單獨(dú)的執(zhí)行文件。
其中一種工具就是freeze tool, 它作為Tools/freeze被包含在python的代碼樹中。它將python字節(jié)碼轉(zhuǎn)換成C數(shù)組,和一個可將你所有模塊嵌入到新程序中的編譯器,這個編譯器跟python模塊鏈接在一起。 #t#
它根據(jù)import語句遞歸地掃描源代碼,并查找在標(biāo)準(zhǔn)python路徑中的模塊和源代碼目錄中的模塊(內(nèi)建模塊)。用python寫的模塊的字節(jié)碼隨后被轉(zhuǎn)換成C代碼(可以通過使用marshal模塊轉(zhuǎn)換成代碼對象的數(shù)組構(gòu) 造器),并產(chǎn)生一個可自定義的配置文件,只包含程序使用了的模塊。
***將生成的C代碼編譯并鏈接至余下的的python解釋器,在脫離Python環(huán)境運(yùn)行中產(chǎn)生一個與你的script執(zhí)行效果完全一樣的單獨(dú)文件。
顯然,freeze需要一個C編譯器。但也有一些工具并不需要。首先便是Gordon McMillan's installer,它工作在Windows, Linux和至少是部分Unix變種上。 (注:在*nix下推薦此方式。通過make后得到一個獨(dú)立的文件。)另一個便是Thomas Heller的 py2exe (只適用于Windows平臺),它在(注:在win下推薦此方式,使用簡單,功能強(qiáng)大。缺點(diǎn)是會生成一大堆文件。
和必須要python.dll)第三個是Christian Tismer的 SQFREEZE,它將字節(jié)碼附在一個特殊的python解釋器后面,解釋器負(fù)責(zé)找到這段代碼。Python 2.4可能會引入類似的機(jī)制。
其它工具包括Fredrik Lundh的 Squeeze 和 Anthony
以上的內(nèi)容就是對關(guān)于脫離Python環(huán)境運(yùn)行的問題的相關(guān)應(yīng)用的具體介紹。