Пакетирование и распространение расширений nautilus-python с приложением

Я написал приложение на Python и использую cx_freeze, чтобы заморозить сценарии и создать исполняемый файл. Затем я превращаю его в один исполняемый пакет bin, используя сценарии оболочки.

Недавно я разработал расширение контекстного меню с использованием nautilus-python и хотел бы включить его в свой пакет приложений. Очевидно, что я не могу поместить файл.py в папку ~/.local/share/nautilus-python/extensions. Я попытался просто поместить файл.pyc в одиночку с включенным исполняемым битом для скрипта, который не работал.

Любые указатели будут очень полезны.

1 ответ

cx_Freeze подходит для Windows или Mac, но в системах Linux приложения должны устанавливаться с менеджером пакетов. Обычно в дистрибутивах назначаются люди, которые будут создавать пакеты. Кроме того, вы можете выбрать дистрибутивы, которые вы хотите поддерживать, и создать пакеты для них самостоятельно, или вы можете использовать сервис, такой как OBS.

Если вы действительно хотите предоставить один исполняемый файл для людей, которые будут помещаться в каталог, который они имеют в PATH, вам нужно будет предоставить расширение отдельно.

Пожалуйста, не заставляйте приложение устанавливать расширение при запуске, пользователь должен сохранить контроль над своим компьютером. Или, если вы это сделаете, добавьте флаг setup.py, чтобы дистрибутивы могли легко его отключить.

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