python 如何使cx_Freeze将子模块编译为共享对象(.so)文件?

ozxc1zmp  于 2024-01-05  发布在  Python
关注(0)|答案(2)|浏览(112)

后台

  • 我正在为一家公司工作,该公司正在编写代码来控制电视屏幕,这些屏幕将播放通过互联网下载的广告。
  • 我的老板想在我们把源代码给予生产屏幕控制器电脑的工厂之前先把它编译好,这样代码就不容易被复制/反向工程了。
  • 我的老板已经决定,.pyc files are too easy to reverse-engineer,并宁愿编译成二进制(?)文件,其中一种类型的(?)似乎是.so文件。
  • 我现在尝试使用cx_Freeze将所有源代码转换为.so文件。

问题

当我运行python setup.py build(命令cx_Freeze“编译”我们的应用程序)时,似乎只有我指定为“主”文件的一个文件被转换为.so文件,而我们的其余源代码被转换为.pyc。我们希望我们的所有代码都是.so文件。

我所尝试的

  • 我已经尝试过浏览cx_Freeze文档,但不知道如何完成我们想要做的事情。
thigvfpy

thigvfpy1#

不可能的
我给cx_Freeze的创建者(Anthony Tuininga)发了邮件,这是他的回复:
cx_Freeze没有这种能力。它将所有编译的Python代码(.pyc文件)放入zip文件中。从技术上讲,有一种方法可以做到这一点,但cx_Freeze没有这样做。由于它涉及C编译器,因此更复杂,更容易出错。

2uluyalo

2uluyalo2#

如果有技术上的可能性,我建议你考虑Linux的pyinstaller和编译,即Glibc。编译将允许你不安装Python。

相关问题