Я написал пакет python на машине Debian, которую я пытаюсь перенести на Ubuntu Core (он предварительно загружен на оборудование, которое я хочу использовать). В Debian я мог просто вытащить свой код из git и выполнить python3 -m mypackage "somearg"
. В Core я хотел бы попытаться реализовать это как несложную задачу, поскольку этот метод, по-видимому, очень предпочтителен.
Я выяснил, как установить классическую оснастку, чтобы получить инструмент сборки snapcraft
. Я создал снап и связал свой репозиторий git. Затем я установил свою оснастку локально, но она не создает никаких двоичных файлов.
Я полагаю, это потому, что я не создавал никаких инструкций для этого. Мне нужно где-то предоставить команду, в которой говорится, что со всем этим исходным кодом нужно запустить его с определенной командой python.
Как мне сказать Snapcraft, что нужно превратить мой пакет python в двоичный файл, который запускает этот пакет (и передать аргумент)?
Объявить приложение в snapcraft.yaml
...
Программы:
...
ваше приложение:
команда: app-launcher
...
Тогда средство запуска приложений
может быть простым скриптом оболочки
#! / Bin / sh
python3 -m mypackage $ @
# если в некоторых аргументах есть пробелы в некоторых аргументах, используйте команду ниже
# python3 -m mypackage $ 1 $ 2 $ 3 $ 4 $ 5 ...
Для вызова команды пользователем:
your-app:app-launcher "somearg"
Ссылки: