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

时间:2019-04-11 10:44:07

标签: python python-3.x cx-freeze

背景

  • 我在一家公司工作,该公司正在编写代码来控制电视屏幕,这些电视屏幕将播放通过互联网下载的广告。
  • 我的老板希望在将源代码提供给将要制造屏幕控制器计算机的工厂之前进行编译,以使代码不容易被复制/反向工程。
  • 我的老板决定使用.pyc files are too easy to reverse-engineer,并且希望编译为二进制(?)文件,其中一种(?)似乎是.so文件。
  • 我现在正尝试使用cx_Freeze将我们所有的源代码转换为.so文件。

问题

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

我尝试过的

  • 我已经尝试遍历cx_Freeze文档,但是看不到如何完成我们正在尝试的工作。

1 个答案:

答案 0 :(得分:1)

不可能。

我通过电子邮件发送了cx_Freeze(Anthony Tuininga)的创建者,这是他的回复:

  

cx_Freeze没有该功能。它将所有已编译的Python代码(.pyc文件)放入一个zip文件中。从技术上讲,有一种方法可以执行此操作,但是cx_Freeze不能。由于它涉及C编译器,因此更加复杂且容易出错。