2009-08-11 2 views
5

Это несколько связано с this question. Предположим, у меня есть пакет, который я хочу развернуть с помощью rpm, потому что мне нужно сделать некоторое копирование файлов после установки, и у меня есть некоторые зависимости, отличные от python, которые я хочу объявить. Но давайте также скажем, что у меня есть некоторые зависимости python, которые легко доступны в PyPI. Кажется, что если я просто упакую как яйцо, unzip, за которым следует python setup.py install, автоматически позаботится о моих зависимостях на основе python, за счет потери любых функций после установки и непитонных зависимостей.с использованием setuptools с зависимостями post-install и python

Есть ли какой-либо рекомендуемый способ сделать это? Полагаю, я мог бы указать это в сценарии предварительной установки, но потом я попадаю в дублирование информации и не использую setuptools для большей части всего.

(Моя текущая настройка включает прохождение install_requires = ['dependency_name'] к setup, который работает для python setup.py bdist_egg и unzip my_package.egg; python my_package/setup.py install, но не для python setup.py bdist_rpm --post-install post-install.sh и rpm --install my_package.rpm.)

ответ

7

Я думаю, что было бы лучше, если ваши зависимости питона были доступны РПМ также и объявленные как зависимости в RPM. Если они недоступны в другом месте, создайте их самостоятельно и поместите их в свой репозиторий yum.

Запуск установок PyPI как побочного эффекта установки RPM является злым, поскольку он не будет поддерживать надлежащую деинсталляцию (то есть удаление вашего RPM приведет к удалению вашего пакета, но оставит зависимые данные без надлежащей процедуры удаления).

+0

Если я не написал соответствующий сценарий удаления, что еще больше дублирует. Хороший звонок. –

Смежные вопросы