2024-06-09 22:00:30 发布
网友
是否可以部署python应用程序,这样就不会发布源代码,也不必确保客户安装了python?
我想也许有一些安装过程可以从.pyc文件和包含解释器的共享库中运行python应用程序,或者类似的东西?
基本上,我很想从Python这样的语言中获得开发的好处——高生产率等等,但是我不太明白如何专业地将它部署到一个客户那里,在这个客户那里,您不知道机器是如何设置的,而且您肯定无法交付源代码。
用python开发的专业软件公司是如何做到这一点的(或者答案可能是他们没有做到这一点)?
从法律上保护源代码,而不是从技术上保护源代码。分发py文件真的没什么大不了的。这里唯一的技术解决方案是而不是来发布您的程序(随着软件通过internet提供而不是更频繁地在本地完全安装,现在程序变得越来越流行)。
如果您不希望用户安装Python,但希望运行Python程序,则必须打包Python。你拒绝这样做,我觉得很奇怪。Java程序必须捆绑或预测JVM的存在。C程序必须捆绑或预测libc的存在(通常是后者),等等。使用你所需要的东西并不是什么难事。
专业的Python桌面软件包Python,可以通过py2exe/cx_Freeze/some in-house thing来实现,也可以通过嵌入Python(在这种情况下,Python是作为一个库而不是一个可执行文件)来实现。前一种方法通常要强大得多。
是的,可以制作安装包。寻找py2exe、cx_freeze和其他。
py2exe
cx_freeze
不,不可能完全保证源代码的安全。总是有反编译的方法。 如果有人想从.pyc文件中获得原始源代码,这很简单。代码混淆会使处理代码变得更加困难。
.pyc
好吧,这取决于你想做什么。如果你所说的“不发布源代码”是指“客户不应该以任何方式访问源代码”,那么,你正在打一场败仗。毕竟,即使是用C编写的程序也可以进行逆向工程。如果你害怕有人偷你的东西,让他们签合同,如果有麻烦就起诉他们。
但是,如果您的意思是“客户不应该关心python文件,也不能随意访问它们”,那么可以使用cx_Freeze这样的解决方案将python应用程序转换为可执行文件。
从法律上保护源代码,而不是从技术上保护源代码。分发py文件真的没什么大不了的。这里唯一的技术解决方案是而不是来发布您的程序(随着软件通过internet提供而不是更频繁地在本地完全安装,现在程序变得越来越流行)。
如果您不希望用户安装Python,但希望运行Python程序,则必须打包Python。你拒绝这样做,我觉得很奇怪。Java程序必须捆绑或预测JVM的存在。C程序必须捆绑或预测libc的存在(通常是后者),等等。使用你所需要的东西并不是什么难事。
专业的Python桌面软件包Python,可以通过py2exe/cx_Freeze/some in-house thing来实现,也可以通过嵌入Python(在这种情况下,Python是作为一个库而不是一个可执行文件)来实现。前一种方法通常要强大得多。
是的,可以制作安装包。寻找
py2exe
、cx_freeze
和其他。不,不可能完全保证源代码的安全。总是有反编译的方法。
如果有人想从
.pyc
文件中获得原始源代码,这很简单。代码混淆会使处理代码变得更加困难。好吧,这取决于你想做什么。如果你所说的“不发布源代码”是指“客户不应该以任何方式访问源代码”,那么,你正在打一场败仗。毕竟,即使是用C编写的程序也可以进行逆向工程。如果你害怕有人偷你的东西,让他们签合同,如果有麻烦就起诉他们。
但是,如果您的意思是“客户不应该关心python文件,也不能随意访问它们”,那么可以使用cx_Freeze这样的解决方案将python应用程序转换为可执行文件。
相关问题 更多 >
编程相关推荐