亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 3709 | 回復(fù): 0
打印 上一主題 下一主題

●如何“編譯”Python程序(轉(zhuǎn)載) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2009-10-13 13:35 |只看該作者 |倒序瀏覽

主要更新記錄:
  • 2005年6月4日更新,添加
    movpy
    條目。同時針對
    http://blender.blogchina.com/1776425.html
    , 做如下申明:
       

    欲轉(zhuǎn)載、部分轉(zhuǎn)載、引用我原創(chuàng)的文章,請標明作者是牡蠣,同時請給出原始連接;你可以部分轉(zhuǎn)載、引用我的文章,前
    提是這不會引起他人誤解我的原意。未經(jīng)書面允許,我的文章、文章部分不可以用于商業(yè)用途(含傳統(tǒng)出版物、需要積分或者虛擬貨幣才可以瀏覽的網(wǎng)上內(nèi)容)。如
    果你不同意,請勿轉(zhuǎn)載、部分轉(zhuǎn)載、引用。謝謝合作。

       
  • 2005年11月更新,添加
    [color="#0000ff"]Shed Skin -  A Python-to-C++ Compiler
    、
    Psyco
    、
    PyPy

    pyc
    。今天的 更新就像在說繞口令。
  • 2006年01月24日,
    movpy
    變成商業(yè)軟件了 :(
  • 2006 年11月26日,添加了對“反編譯”“編譯”之后的文件的看法
  • 2006年12月06日,添加
    Jungle

如何編譯
Python
程序(或者如何由
Python
生成可執(zhí)行文件)
是一個非常常見的問題,總是有人問,列出 來,
google
搜索的時候就可以看到了。如果還有人說"找不到相關(guān)資 料",唯一的解釋就是這個人太懶了,根本沒有去找。
如果轉(zhuǎn)載,請注明作者是牡蠣,出自
http://blender.blogchina.com/523381.html
。

    0.
Python
(及其它高級的腳本語言)不存在把指令編譯到本地代碼 的工具,但是總是可以發(fā)布可執(zhí)行文件。
 
  • py2exe     
    http://py2exe.sf.net
        只支持windows平臺,應(yīng)該 是大家聽到最多的一個名字了,用戶不少,所以有問題的話在它的
    mail  list
    里面很容易找到答案。文檔中提到了"無法找到某某code"、使用opengl等模塊的問題
       
     
       
  • PyPackage     
    http://codereactor.net/projects/pypack/index.html
        我 覺得
    py2exe

    等工具還是羅嗦得像唐僧,需要在配置文件中寫上需要的數(shù)據(jù)
    文件。作者完全無視這樣一個事實:我需要發(fā)布可執(zhí)行文件的時候,程序已經(jīng)完工了,所有的數(shù)據(jù)文件就在主程序所在目錄下,所以多數(shù)情況下,根本不用到別的地
    方搜索,F(xiàn)在終于有人站了出來,PyPackage實際上并不是一個程序打包的工具,而只是簡化py2exe的操作,甚至可以自動調(diào)用
    InnoSetup 5
    制作安裝文件——不過這個軟 件并不智能,會打包很多不需要的文件
       
     
       
  • Installer     
    http://www.mcmillan-inc.com/installer_dnld.html
        可 以產(chǎn)生windows、linux平臺的可執(zhí)行文件,現(xiàn)在作者主頁連不上去了,但是搜索一下可以在其它地方下載
        自帶一個小程序?qū)懪渲梦募,如果?序較復(fù)雜,還是需要手工修改這個配置文件。支持從py15以來的所有
    Python
    版 本
        2005年9月,冰凍牡蠣更新:Giovanni Bajo獲得Gordon McMillan's  Installer的授權(quán)、版權(quán)改變?yōu)镚PL,并在
    http://pyinstaller.hpcf.upr.edu/
    繼 續(xù)開發(fā)PYinstaller。2006年9月更新:
    [color="#0000ff"]這里
    可以看到Gordon McMillan's的原始網(wǎng)站的鏡像
       
     
       

  • Python
    自帶的freeze.py(不過windows版本不帶這個,你可 以自己下載
    Python
    的源程序再找)。這個是我最不推薦的一種方法(為什 么?自己看),不過如果你的
    Python
    程序要發(fā)布到其它工具不支持的平臺 上,可以考慮這個方法
       
     
       
  • 新出來的Pyco   
    http://www.pythonapocrypha.com/projects/pyco/
        還 沒用過
       
     
       
  • Squeeze   
    http://starship.python.net/crew/fredrik/ipa/squeeze.htm
        還 沒用過,只支持
    Python
    1.4
       
     
       
  • cx_Freeze   
    http://starship.python.net/crew/atuining/cx_Freeze/
        winodws、 linux平臺。簡單的程序甚至都不需要寫配置文件
       
     
       
  • Stand alone Python for Windows  
    http://arctrix.com/nas/python/standalone.html
        如 果你不介意源程序太過"暴露"的話,用這個吧
    會不會覺得Updated: Sun, 09 Apr 2000 18:39:54 -0600
    扎眼?如果你看一看它的VC源代碼,就不會這么想了——其實這是普遍適用于win系統(tǒng)的方法,無論是98、2000或者xp。也許也可以用到linux上
    ——我不懂linux,如果真的可以這么做,還請告訴我。
     
       
  • py2app   
    http://undefined.org/python/
        支 持linux平臺的工具可能也支持mac os,或者直接使用這個
    py2app
    。 具體就不知道了,只吃過蘋果,還沒玩過蘋果呢
       
     
       

  • Movable Python
      
    http://www.voidspace.org.uk/python/movpy/
        這 個其實是使用
    py2exe
    制作的、可以放在U盤上的綠色
    Python
    。有使用
    py2app
    制作蘋果版movpy和用
    cx_Freeze
    制 作Linux版
    movpy
    的計劃。懶 到都不愿意學(xué)習(xí)
    py2exe
    、
    py2app
    或者
    cx_Freeze
    的 人可以看看。
       
     
       

  • Shed Skin - A Python-to-C++  Compiler
    : 試驗項目,windows上,連他的例子我都沒有編譯成功 :(。
       
     
       

  • Psyco
    :  給
    Python
    程序加速的東西,看不出對發(fā)布
    Python
    程序的直接好處,并且作者以后將致力于
    PyPy
    。
       
     
       

  • PyPy
    :  項目目標是純
    Python
    實 現(xiàn)的
    Python
    、 速度比
    CPython
    快, 將來可以幫助實現(xiàn)編譯
    Python

       
     
       

  • pyc

    Python
    compiler in
    Python
    ,一個用純
    Python
    寫的
    Python
    的bytecode編譯器,可以優(yōu)化輸出的pyc文件。和
    PyPy
    一樣,現(xiàn) 在還看不出對發(fā)布
    Python
    程序的直接好處。只有py24的 bytecode。
    pyc

    pyvm
    這個新的 python虛擬機的一部分。
       
     
       

  • Jungle
    :  使用GNU工具(as、ld和winres)把
    Python
    程序編譯到 windows的exe可執(zhí)行文件。該可執(zhí)行文件只使用基于python24的的pythonic.dll。猜測它支持的模塊僅限于內(nèi)部模塊以及 jungle.jgl列出的模塊。只有可執(zhí)行文件下載,而這個可執(zhí)行文件也是用
    Jungle
    自己編譯的。目前版本號都到 1.10了,經(jīng)?0.xx的版本號,這個數(shù)字好大啊,娃哈哈。
       
     
       
    另類的方法,對
    Python
    語言特性都還不是100%支持,眾多的
    CPython
    模塊也不可以使用,還有,我也沒有試過:
  • for  .NET的
    Python
    編譯器(如
    Visual Python
    、
    IronPython
    ),不過我可不 喜歡為了一個芝麻大的軟件安裝.NET framework

  • jython
    ,然后用jbuilder、
    jsmooth
    、NativeJ之類的包裹一下,或者用
    gcj
    編譯成本地代碼
       
     
       
    2006 年11月26日,近來有些人問,如何保護python開發(fā)的商業(yè)軟件/閉源軟件。
    我的觀點是,純
    Python
    程序,又不想用C語言(其實C語言程序也可以破解,所以最好的方法就 是不發(fā)布任何程序,嘿嘿),可以試試
    pyobfuscate
    混淆源代碼,增加可能被反編譯獲得的源代碼的閱讀難度。不過
    pyobfuscate
    也好久沒有更新了,娃哈哈。而實際上,沒必要考慮別人會獲得源代碼的問題。  考慮(尤其是在自己的程序還沒有寫出來的時候)別人會反編譯自己的
    Python
    程 序,有點杞人憂天。
    在*nix下的話,似乎可以(我不用*nix,并不確定)使用
    Python
    自帶的freeze.py,把源程序的字節(jié)碼轉(zhuǎn)換成C程序,然后使用 GCC編譯,這樣應(yīng)該看不到字節(jié)碼了。在windows下,不知道怎么使用freeze.py,總報錯——誰知道的話告訴我吧。但是如果想實現(xiàn)跨平臺,使 用freeze.py的方法似乎不可取。
    首先我相信,目前沒有軟件可以很好反編譯
    Python
    2.4及之后的版本生成的字節(jié)碼,所以采用新版本
    Python
    “編譯”到可執(zhí)行文件,是安全的。
    其次,據(jù)我所知, 目前最成熟的反編譯軟件只有
    decompyle
    。 而不是象某些人為了夸大問題的重要性,而口吐蓮花所說的“現(xiàn)在有很多
    Python
    的 反編譯軟件”。而我不相信有人愿意花錢買這個“唯一的且很多的”反編譯軟件,理由有二
  • 看看
    decompyle
    頁面更新日期,是 2004年。我猜測作者把這個軟件商業(yè)化之后并不成功,并沒有太多人需要反編譯自己或者他人的
    Python
    程序。導(dǎo)致作者沒有足夠的收入或者興趣繼續(xù)完善了
  • 有 人愿意花錢去反編譯一個還不存在地軟件,或者一個不出名的程序?
    次成熟的反編譯軟件是
    decompiler.py
    。 但是它比商業(yè)軟件
    decompyle
    差 遠了。我沒有去做試驗,是他自己的主頁承認說有很多局限的。
    最后,真誠請教那些有“很多”
    Python
    反編譯程序的高手,兩個問題:

  • subsystem.htm
        這 是將數(shù)獨游戲和消除游戲結(jié)合起來的益智游戲,未注冊的話,只能累積玩60分鐘。這是
    Python
    +
    pygame
    制作的軟件,使用
    py2exe
    發(fā)布,可否麻煩高手——別怕,我不要它的源程序——看看它的注冊部分, 整個注冊機/注冊碼出來?

  • wingide
        這 個有名的
    Python
    商業(yè)ide,我不確定它是不是使用
    py2exe
    制作的,而且它的規(guī)模比較大。我對它的源代碼有點興趣,有人說看不到它 的源代碼,但是我覺得\bin\2.4\src.zip里面的一堆pyo,是如假包換的源代碼的字節(jié)碼,如果真是如此,麻煩高手在空余時間,反編譯一份 嘍。
                   
                   
                   

    本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u1/46672/showart_2069252.html
  • 您需要登錄后才可以回帖 登錄 | 注冊

    本版積分規(guī)則 發(fā)表回復(fù)

      

    北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年舉報專區(qū)
    中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
    感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP