繁体   English   中英

如何部署Python桌面应用程序?

[英]How do I deploy a Python desktop application?

我已经开始在桌面上运行个人python应用程序了。 我使用wxPython作为GUI工具包。 如果需要这种类型的应用程序,我可能希望将其商业化。

我不知道部署“真实”Python应用程序,虽然我过去使用过py2exe并取得了不同程度的成功。 我如何模糊代码? 我可以以某种方式只部署字节码吗?

一个理想的解决方案不会危及我的知识产权(源代码),不需要直接安装Python(虽然我确定它需要一些嵌入式解释器),并且是跨平台的(Windows,Mac和Linux的)。 有谁知道这个领域的任何工具或资源?

谢谢。

您可以分发已编译的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”脚本。

希望这很有帮助。

也许IronPython可以为您提供一些东西? 我打赌那些.exe / .dll文件可以被锁定。 不确定这些功能如何在单声道上工作,因此不知道这在Linux / OS X上是如何工作的......

尝试使用scraZ混淆器( http://scraZ.me )。 这是字节码的混淆器,而不是源代码。 免费版有很好但不完美的混淆方法。 PRO版本对字节码有很强的保护作用。 (在字节码混淆之后,反编译是不可能的)

我一直在使用py2exe在Windows上取得了很好的成功。 代码需要稍微修改一下,以便代码分析能够获取所需的所有模块,但除此之外,它还可以工作。

至于Linux,有几种重要的分发格式:

  • DEB(Debian,Ubuntu和其他衍生品)
  • RPM(RedHat,Fedora,openSuSE)

DEB并不是特别难以制作,特别是当您已经使用distutils / setuptools时。 策略文档中给出了一些提示,可以在存储库中找到打包Python应用程序的示例。

我对RPM没有任何经验,但我确信有足够的例子可以找到。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM