Как заставить cx_Freeze компилировать подмодули в файлы общего объекта (.so)? - PullRequest
2 голосов
/ 11 апреля 2019

Фон

  • Я работаю в компании, которая пишет код для управления телевизионными экранами, которые будут воспроизводить рекламу, загруженную через Интернет.
  • Мой начальник хочет скомпилировать исходный код, прежде чем мы передадим его на фабрику, которая будет производить компьютеры с контроллером экрана, чтобы код нельзя было легко скопировать / перепроектировать.
  • Мой начальник решил, что .pyc файлы слишком легко перепроектировать , и он предпочел бы скомпилировать в двоичные (?) Файлы, один тип которых (?), По-видимому, .so файлы.
  • Я сейчас пытаюсь использовать cx_Freeze для преобразования всего нашего исходного кода в .so файлы.

Задача

Когда я запускаю python setup.py build (команда cx_Freeze «скомпилирует» наше приложение), кажется, что только один файл, который я обозначил как «основной», преобразуется в файл .so, в то время как остальные наши Исходный код преобразуется в .pyc. Мы хотим, чтобы все нашего кода были .so файлами.

Что я пробовал

  • Я пытался просмотреть документацию cx_Freeze, но не понимаю, как выполнить то, что мы пытаемся сделать.

1 Ответ

1 голос
/ 16 апреля 2019

Это невозможно.

Я написал создателю cx_Freeze (Энтони Туининга) по электронной почте, и это был его ответ:

cx_Freeze не имеет такой возможности.Он помещает весь свой скомпилированный код Python (файлы .pyc) в zip-файл.Технически, есть способ сделать это, но cx_Freeze не делает этого.Поскольку он использует компилятор C, он более сложен и подвержен ошибкам.

...