mma*_*tax 30 python deployment
我已经开始在桌面上运行个人python应用程序.我使用wxPython作为GUI工具包.如果需要这种类型的应用程序,我可能希望将其商业化.
我不知道部署"真实"的Python应用程序,尽管我py2exe过去曾使用过不同的成功.我如何模糊代码?我可以以某种方式只部署字节码吗?
一个理想的解决方案不会危害我的知识产权(源代码),不需要直接安装Python(虽然我确定它需要一些嵌入式解释器),并且是跨平台的(Windows,Mac和Linux的).有谁知道这个领域的任何工具或资源?
谢谢.
cdl*_*ary 13
您可以分发已编译的Python字节码(.pyc文件)而不是源代码.你无法阻止Python(或其他任何语言)的反编译.您可以使用像pyobfuscate这样的混淆器来让竞争对手破解您的反编译源更加烦人.
正如Alex Martelli 在这篇帖子中所说,如果你想保密你的代码,就不应该在其他人的机器上运行它.
IIRC,我最后一次使用cx_Freeze它为Windows创建了一个DLL,它消除了本机Python安装的必要性.这至少值得一试.
哇,里面有很多问题:
可以直接从 Python 解释器运行字节码 (.pyc) 文件,但我还没有看到任何可用的字节码混淆工具。
我不知道有任何“一体化”部署解决方案,但是:
对于 Windows,您可以使用 NSIS(http://nsis.sourceforge.net/Main_Page)。这里的问题是,虽然 OSX/*nix 附带了 python,但 Windows 却没有。如果您不愿意使用 py2exe 构建二进制文件,我不确定围绕 Python 运行时环境的分发会出现哪些许可问题(更不用说技术问题了)。
您可以使用“bundle”格式打包 OS X 发行版,并且 *NIX 有自己的软件安装约定——通常是“make install”脚本。
希望这有帮助。