использование setuptools с зависимостями после установки и python - PullRequest
5 голосов
/ 11 августа 2009

Это как-то связано с этим вопросом . Допустим, у меня есть пакет, который я хочу развернуть через rpm, потому что мне нужно сделать некоторое копирование файлов после установки, и у меня есть некоторые не-python-зависимости, которые я хочу объявить. Но давайте также скажем, что у меня есть некоторые зависимости Python, которые легко доступны в PyPI. Кажется, что если я просто упаковываю как яйцо, распаковка, за которой следует python setup.py install, автоматически позаботится о моих зависимостях python, за счет потери любых функций после установки и не-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.)

1 Ответ

7 голосов
/ 11 августа 2009

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

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

...