Как избежать префикса Python3 при использовании исходного кода Python для сборки DEB-пакета?

Вопрос или проблема

Я установил в своем проекте на Python значения ‘name’, ‘py_modules’, ‘entry_points’ в setup.py, которые выглядят как ‘abc’; и установил значения Source и Package в debian/control, которые выглядят как ‘abc’……

Но когда я использую следующую команду для сборки Deb пакета:

python3 setup.py sdist --format=gztar

python3 setup.py --command-packages=stdeb.command bdist_deb

Она будет генерировать Deb пакет в следующем формате имени:

deb_dist/python3-abc_xxx.deb

Как избежать появления префикса Python3 при использовании исходного кода Python для сборки DEB пакета?

Ответ или решение

Чтобы избежать префикса python3- в имени DEB-пакета при сборке из исходного кода Python, вам нужно внести некоторые изменения в файл настройки setup.py и файл контроля депенденсий в папке debian. Вот пошаговая инструкция, как это сделать:

  1. Измените setup.py:

    Убедитесь, что в вашем setup.py правильно указаны необходимые метаданные. Однако важно добавить также параметр deb_name, который указывает, как именно должен называться ваш пакет.

    Пример:

    from setuptools import setup
    
    setup(
       name='abc',  # Ваше имя пакета
       py_modules=['your_module'],  # Ваши модули
       entry_points={
           'console_scripts': [
               'your_command = your_module:main_function'
           ]
       },
       # Добавляем опцию для указания имени пакета
       setup_requires=['stdeb'],
    )
  2. Настройка debian/control:

    Перейдите в директорию debian и откройте файл control. Убедитесь, что в нем указаны правильные значения. Особенно важны строчки с Source и Package, так как они влияют на итоговое имя пакета. Убедитесь, что обе строки имеют ваше желаемое название пакета (например, abc вместо python3-abc).

    Пример части файла debian/control:

    Source: abc
    Section: python
    Priority: optional
    Maintainer: Your Name <your.email@example.com>
    Build-Depends: debhelper (>= 9), python3-dev
    Standards-Version: 4.1.3
    
    Package: abc
    Architecture: any
    Depends: ${shlibs:Depends}, ${python3:Depends}
    Description: Your package description here.
  3. Сборка пакета:

    Теперь вы можете приступить к сборке пакета, выполнив команды:

    python3 setup.py sdist --format=gztar
    python3 setup.py --command-packages=stdeb.command bdist_deb
  4. Проверка результата:

    После выполнения этих шагов, вы должны увидеть DEB-пакет с именем abc_xxx.deb в директории deb_dist, без префикса python3-.

Соблюдайте эти шаги, и вам удастся успешно создать DEB-пакет с требуемым именем. Если у вас возникнут дополнительные вопросы или трудности, не стесняйтесь обращаться за помощью.

Оцените материал
Добавить комментарий

Капча загружается...