2014-01-11 86 views
2

我正在編寫將在Raspberry PI上的Debian OS上運行的代碼(用於GUI的Python和wxpython)。我想保護/隱藏源代碼。有什麼辦法可以做到嗎?可能是py2exe,或將其轉換爲庫或其他東西?隱藏/保護Python代碼

回答

4

如果你希望別人能夠執行,但不能讀取或修改源代碼的編譯代碼(.pyc文件文件)都可以使用(的.py.pyw)。

簡單:

  1. 運行你的應用程序
  2. 則所有相關的pyc文件複製到另一個文件夾,你應該能夠
  3. 來看,這一切從新位置

只要所有適當的模塊仍然可以加載,一切都將工作。這將要求python的版本是相同的(不能從python 2.4運行.pyc文件與Python 2.7,反之亦然)

另一件要知道的是,字符串將被保留。你應該在一個好的文本編輯器(我使用vim)中打開它們,並檢查內容,如果你擔心別人能看到什麼。

py2exe當然是另外一個例子,但是你在這一點上失去了跨平臺代碼的能力 - 而且如果你的應用程序是用於Raspberry Pi的 - 那將無法工作。

由於您沒有提供有關您打算如何運行代碼的其他信息,因此不清楚源代碼是模塊還是打算直接運行。您應該閱讀this post以瞭解更多信息。

+0

顯然,除非您嘗試SaaS策略,否則您無法從其他人完全安全。首先,.pyc可以很容易地被剔除。如果你創建一個可執行文件,這將提供額外的混淆層,那麼源代碼仍然可以被檢索。我建議你看看這篇文章:https://wiki.python.org/moin/Asking%20for%20Help/How%20do%20you%20protect%20Python%20source%20code%3F – Blas