Вопрос или проблема
Я установил в своем проекте на 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
. Вот пошаговая инструкция, как это сделать:
-
Измените
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'], )
-
Настройка
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.
-
Сборка пакета:
Теперь вы можете приступить к сборке пакета, выполнив команды:
python3 setup.py sdist --format=gztar python3 setup.py --command-packages=stdeb.command bdist_deb
-
Проверка результата:
После выполнения этих шагов, вы должны увидеть DEB-пакет с именем
abc_xxx.deb
в директорииdeb_dist
, без префиксаpython3-
.
Соблюдайте эти шаги, и вам удастся успешно создать DEB-пакет с требуемым именем. Если у вас возникнут дополнительные вопросы или трудности, не стесняйтесь обращаться за помощью.