Как мне создать пакет deb для одного скрипта Python?

У меня есть один скрипт на python, который я хочу распространять как пакет deb. Это индикатор , который показывает локальную дату на панели Unity. Я следовал создать пакет .deb из скриптов или двоичных файлов , но я не смог создать пакет deb, потому что он не работает.

Может кто-нибудь дать мне пошаговую инструкцию, что мне делать? Насколько я знаю, этот сценарий зависит от python-appindicator.

ПРИМЕЧАНИЕ:
Я не хочу никаких ссылок на инструкции по сборке Debian / Ubuntu. Я видел большинство из них. Я не считаю их начинающими дружелюбными.

87
задан 13 April 2017 в 15:25

7 ответов

Далее следует базовый пример того, как может выглядеть пакет исходного кода для скрипта Python. Хотя большинство руководств по упаковке немного сложны, они действительно могут помочь, если вы столкнетесь с проблемой. Тем не менее, я сначала изучил основы упаковки Debian, просто взглянув на пакеты Debian. apt-get source что-то подобное и изучите на примере.

Вот ваш базовый макет исходного пакета:

my-script/
    -- myScript
    -- debian/
        -- changelog
        -- copyright
        -- compat
        -- rules
        -- control
        -- install

Запустите dch --create в каталоге, чтобы создать правильно отформатированный запись в debian / changelog .

debian / copyright должна выглядеть так:

Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: myScript
Upstream-Contact: Name, <email@address>

Files: *
Copyright: 2011, Name, <email@address>
License: (GPL-2+ | LGPL-2 | GPL-3 | whatever)
 Full text of licence.
 .
 Unless there is a it can be found in /usr/share/common-licenses

debian / compat может быть просто: 7

debian / rules :

#!/usr/bin/make -f

%:
    dh $@ --with python2

Обратите внимание, что перед dh $ @ - с python2 должна стоять «табуляция», а не пробелы.

debian / control :

Source: my-script
Section: python
Priority: optional
Maintainer: Name, <email@address>
Build-Depends: debhelper (>= 7),
               python (>= 2.6.6-3~)
Standards-Version: 3.9.2
X-Python-Version: >= 2.6


Package: my-script
Architecture: all
Section: python
Depends: python-appindicator, ${misc:Depends}, ${python:Depends}
Description: short description
 A long description goes here.
 .
 It can contain multiple paragraphs

debian / install :

myScript usr/bin/

Этот файл указывает, какой файл будет установлен в какую папку.

Теперь создайте его с помощью debuild --no-tgz-check

Это создаст функциональный пакет deb. Lintian собирается сделать несколько предупреждений об отсутствии orig.tar.gz, но, если вы не планируете создать полноценный апстрим-проект, который выпускает тарболлы, вы, вероятно, просто захотите пока проигнорировать это.

88
ответ дан 13 April 2017 в 15:25

Тем временем есть статья, описывающая дилемму, найденную на https://www.nylas.com/blog/packaging-deploying-python/ . В основном в нем говорится, что dh-virtualenv работает вместе с make-deb, чтобы легко развернуть код Python, просто используя файл setup.py. Краткое руководство можно найти на https://gist.github.com/JeOam/bc6cbf38f04d6f9dbf81

1
ответ дан 13 April 2017 в 15:25

Вы можете попробовать использовать Debreate

Это Gui Интерфейс для создания пакетов и прочего. Вы также можете использовать PPA, если не хотите загружать его с указанного выше веб-сайта.

sudo add-apt-repository ppa:antumdeluge/<ppaname>; sudo apt update; sudo apt install debreate

Я сконфигурировал ppa так, чтобы он выполнялся как одна строка кода! Спасибо за замечательный вопрос и не забывайте загружать эти строки кода в терминал!

0
ответ дан 13 April 2017 в 15:25

Вы можете попробовать Debreate , инструмент с графическим интерфейсом для создания пакетов.

9
ответ дан 13 April 2017 в 15:25

Я бы быстро проверил, отлично подходит для создания быстрых приложений и генерации debs google it, или вы можете найти руководства здесь http: // developer. ubuntu.com/[12212 impression

3
ответ дан 13 April 2017 в 15:25

Попробуйте pkgme ​​. Предполагается, что он просто работает.

Установка через:

sudo apt install pkgme

Запуск через:

pkgme
debuild

(Новому разработчику, возможно, придется запустить gpg --gen-key , см. Подписание ключей разработки ], чтобы сделать это правильно)

2
ответ дан 13 April 2017 в 15:25
  1. создайте папку с любым именем в вашем доме, например: mypyscript
  2. Откройте папку и создайте две папки с именами «DEBIAN» и «usr»
  3. Откройте папку DEBIAN. Создайте там текстовый файл (без расширения) с именем «control».
  4. Откройте «control», введите следующее и сохраните его на DEBIAN

     Пакет: mypyscript
    Версия: 0.01
    Архитектура: все
    Сопровождающий: ваше имя <ваш почтовый идентификатор>
    Установленный размер: 2
    Зависит от: python-appindicator
    Раздел: дополнительные услуги
    Приоритет: необязательно
    Домашняя страница: ваша домашняя страница
    Описание: описать
     
  5. Вернуться в папку mypyscript. Откройте usr. Создайте папку с именем «bin». Откройте bin и вставьте туда свой файл pythonscript.

  6. Вы также можете сделать запись в меню. Но это не важно.
  7. Вернитесь в домашнюю папку, где находится папка mypyscript, или закройте файловый браузер.
  8. Откройте терминал. Убедитесь, что терминал находится в домашней папке. введите dpkg -b mypyscript . Затем нажмите Enter. Через несколько секунд ваш deb-пакет будет готов

примечание: пожалуйста, правильно заполните 'control' файл. Не используйте апострофы. Это только для указания имен.

19
ответ дан 13 April 2017 в 15:25

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

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