部署python应用程序

2024-06-09 22:00:30 发布

您现在位置:Python中文网/ 问答频道 /正文

是否可以部署python应用程序,这样就不会发布源代码,也不必确保客户安装了python?

我想也许有一些安装过程可以从.pyc文件和包含解释器的共享库中运行python应用程序,或者类似的东西?

基本上,我很想从Python这样的语言中获得开发的好处——高生产率等等,但是我不太明白如何专业地将它部署到一个客户那里,在这个客户那里,您不知道机器是如何设置的,而且您肯定无法交付源代码。

用python开发的专业软件公司是如何做到这一点的(或者答案可能是他们没有做到这一点)?


Tags: 文件答案机器语言应用程序客户软件源代码
3条回答
  1. 从法律上保护源代码,而不是从技术上保护源代码。分发py文件真的没什么大不了的。这里唯一的技术解决方案是而不是来发布您的程序(随着软件通过internet提供而不是更频繁地在本地完全安装,现在程序变得越来越流行)。

  2. 如果您不希望用户安装Python,但希望运行Python程序,则必须打包Python。你拒绝这样做,我觉得很奇怪。Java程序必须捆绑或预测JVM的存在。C程序必须捆绑或预测libc的存在(通常是后者),等等。使用你所需要的东西并不是什么难事。

  3. 专业的Python桌面软件包Python,可以通过py2exe/cx_Freeze/some in-house thing来实现,也可以通过嵌入Python(在这种情况下,Python是作为一个库而不是一个可执行文件)来实现。前一种方法通常要强大得多。

是的,可以制作安装包。寻找py2execx_freeze和其他。

不,不可能完全保证源代码的安全。总是有反编译的方法。
如果有人想从.pyc文件中获得原始源代码,这很简单。代码混淆会使处理代码变得更加困难。

好吧,这取决于你想做什么。如果你所说的“不发布源代码”是指“客户不应该以任何方式访问源代码”,那么,你正在打一场败仗。毕竟,即使是用C编写的程序也可以进行逆向工程。如果你害怕有人偷你的东西,让他们签合同,如果有麻烦就起诉他们。

但是,如果您的意思是“客户不应该关心python文件,也不能随意访问它们”,那么可以使用cx_Freeze这样的解决方案将python应用程序转换为可执行文件。

相关问题 更多 >