Создание пакетов с модулями Python — различия между версиями

Материал из Rosalab Wiki
Перейти к: навигация, поиск
Строка 12: Строка 12:
  
 
Как только пакет успешно соберется, создаем src.rpm с помощью {{Cmd|rpmbuild -bs}} и делаем из него проект на ABF.
 
Как только пакет успешно соберется, создаем src.rpm с помощью {{Cmd|rpmbuild -bs}} и делаем из него проект на ABF.
 +
 +
Для надежности, следует попробовать собрать пакет уже на ABF - это позволяет выявить ошибки, которые можно пропустить при локальной сборке. Для этого необходимо перейти на страничку вашего проекта, нажать "New Build" и в появившемся окне слева отметить галочками репозитории main и contrib для платформы rosa2016.1 (последней на момент написания этой странички, если есть платформа поновее типа rosa2019.1 - то надо выбирать ее).
  
 
Более подробная информация о правилах оформления модулей Python приведена на странице [[Python policy]].
 
Более подробная информация о правилах оформления модулей Python приведена на странице [[Python policy]].
  
 
[[Категория:Практика студентов]]
 
[[Категория:Практика студентов]]

Версия 08:32, 22 сентября 2018

Подготовка пакета для модуля языка Python может быть осуществлена с помощью модуля bdist_rpm5. Этот способ подходит для модулей, собираемых с помощью setuptools. Определить, относится ли ваш модуль к этому виду, очень просто - достаточно посмотреть, есть ли в лиректории с его исходным кодом файл setup.py. Если есть, то переходим в директорию с исходным кодом модуля и запускаем следующую команду:

$ python setup.py bdist_rpm5

Как минимум, эта команда создаст spec-файл в поддиректории build/bdist.linux-x86_64/rpm/SPECS (либо build/bdist.linux-i686/rpm/SPECS, если у вас 32битная система).

bdist_rpm5 сразу же попробует собрать пакет с использованием этого файла, и если вам повезет и пакет действительно соберется, то в поддиректории build/bdist.linux-x86_64/rpm/RPMS вы обнаружите результаты сборки. В этом случае можно смело брать src.rpm файл из поддиректории build/bdist.linux-x86_64/rpm/SRPMS и из него проект на ABF.

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

rpmbuild -bb <имя_spec_файла>

Как только пакет успешно соберется, создаем src.rpm с помощью rpmbuild -bs и делаем из него проект на ABF.

Для надежности, следует попробовать собрать пакет уже на ABF - это позволяет выявить ошибки, которые можно пропустить при локальной сборке. Для этого необходимо перейти на страничку вашего проекта, нажать "New Build" и в появившемся окне слева отметить галочками репозитории main и contrib для платформы rosa2016.1 (последней на момент написания этой странички, если есть платформа поновее типа rosa2019.1 - то надо выбирать ее).

Более подробная информация о правилах оформления модулей Python приведена на странице Python policy.