Сборка двоичного пакета deb из исходного кода Python

Я создал пакет python (используя Ubuntu Quickly) и хочу создать пакет deb. К сожалению, быстро собирает пакет с исходными файлами Python (.py), и я не хочу включать исходные файлы. Та же проблема с плагином Bazaar для сборки пакетов.

Как сделать пакет deb без источников , который компилирует файлы .py во время установки, чтобы в системе не было исходных файлов?

1
задан 15 May 2012 в 03:25

2 ответа

На самом деле нет способа скрыть исходный код Python и помешать пользователям узнать, что вы делаете с их системами. Однако это не означает, что программа должна быть с открытым исходным кодом. Это зависит от лицензии, и вы можете использовать ту лицензию, которую хотите. Возможность читать исходный код не означает, что пользователю разрешено редактировать или распространять его. Это зависит от вас. Это верно для всех языков высокого уровня. Например, веб-приложения всегда имеют исходный код, видимый пользователю. Это не значит, что вам разрешено использовать его в других проектах без разрешения разработчиков.

Возможно, вы захотите взглянуть на язык Джини. Это новый язык, который имеет функции, подобные Java / C #, но с синтаксисом, похожим на Python. Genie компилируется в C, что означает, что он не зависит от платформы, но также очень быстр. И C, конечно, компилируется в нативный код.

К сожалению, у Quickly еще нет шаблонов для Genie.

0
ответ дан 15 May 2012 в 03:25

Python - это интерпретируемый язык сценариев. Вы не просто распространяете промежуточные файлы .pyc, потому что они скомпилированы для вашей системы и не имеют смысла в других местах. Вы распространяете исходный код, и он компилируется на лету.

Это не значит, что вы не можете просто распространять файлы .pyc. PEP 3147 позволяет это и устанавливает структуру, но это действительно стоит денег, и я даже не уверен, что это остановит вас в восстановлении источника (с помощью различных методов самоанализа) - но это не то, чем является Quickly предназначен для; это не поможет вам создать подобный пакет.

Если вы пытаетесь распространять приложение с закрытым исходным кодом, есть такие вещи, как py2exe (только для Windows) и bbfreeze (все), но ни одно из них не является идеальным или полностью необратимым. Вы можете посмотреть методы запутывания , если хотите еще больше защитить свой источник.

0
ответ дан 15 May 2012 в 03:25

Другие вопросы по тегам:

Похожие вопросы: