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

问题描述 投票:2回答:1

背景

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

问题

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

我试过的

  • 我已经尝试过cx_Freeze文档但是没有看到如何完成我们正在尝试做的事情。
python python-3.x cx-freeze
1个回答
1
投票

这是不可能的。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.