這個問題是相當有意義的,如果有了比較好的方法,Python 完全可以用來開發商業軟件,而不用擔心源代碼洩露。
前兩天我在網上看了看,有很多的人在問這個問題。大部分的人都在用 py2exe,這是個對 Python 程序打包的東東,實際上只是在 Python 程序中找 出依賴的模塊,然後發布這個程序。好處在於可以讓這個程序脫離 Python 的環境來執行,不用安裝 Python 解釋器。但實際上並不能保護源代碼,因為源 代碼其實也包含在其中了。更好的辦法是使用 Pyrex。在 http: //www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/ 可以下載到。本來 Pyrex 是一個用來混合 編寫 Python 和 C 程序的東西,然後轉換為 C 代碼,再編譯成可執行文件。於是這裡就相當於提供了一種方法可以將 Python 代碼轉換為 C 代碼,這樣就可 以把 Python 程序編譯為真正的可執行文件了!下面說說怎麼做。假設我們有一個簡單的 Python 程序,代碼如下,假設文件名為 go.py。
pyrexc go.pyx gcc go.c main.c -I/usr/include/python2.5 -L/usr/lib/ -lpython2.5 -o go
就生成了叫 go 的可執行文件,執行它,就得到了想要的結果!注:此方法我只在 linux 上試過。(That's enough. - cloud)