[devel] вопрос по сборке python-module
Andrey Orlov
=?iso-8859-1?q?cray_=CE=C1_neural=2Eru?=
Чт Мар 31 15:09:17 MSD 2005
On Thursday 31 March 2005 11:22, Kirill Maslinsky wrote:
> Имеется программа на питоне, собираю в соответствии с инструкциями
> в пакете rpm-build-python (0.21). Автоматический поиск provides
> не находит один из модулей, который в мою программу входит, и ставит
> его в зависимости. Как правильно с этим бороться:
>
> %add_python_req_skip pcaudio_zip
>
> или
>
> %py_provides pcaudio_zip
Это python faq, а не полиси. Проблема в том, что если автоматический поиск не находит
модуль, то и питон этот модуль, скорее всего, не найдет. Ставить один из выше приведенных
операторов имеет смысл только в том случае, если вы стопудово уверены, что имеете
дело с одним из тех редких случаев, когда это рекомендовано в FAQ. В остальных случаях
стоит поискать проблему в вашем пакете. Типичный случай - модуль импортируется из того
участка кода, который не вызывается при ваших тестах, и этот модуль оттуда действительно недоступен.
Пример:
site-packages/a
site-packages/a/b
site-packages/a/b/test.py (содержит import b)
site-packages/a/b/__init__.py
site-packages/a/__init__.py (содержит import b)
Вот в такой ситуации модуль a полностью работоспособен (т.е. python -c "import a" отрабатывает без ошибок),
но в нем лежит (не откуда не вызываемый) файлик test.py, который __не__ работоспособен, так
как не видит (не может видить), в общем случае, подмодуль b. И именно он порождает спорную зависимость.
Я такие файлы обычно так или иначе удаляю из пакета... . Некоторые другие способы описаны в FAQ.
У вас может быть и другой случай, некоторые из них тоже описаны в FAQ.
В любом случае, если %add_python_req_skip не нарушает общей логики репозитория (вы вредите только себе),
то %py_provides - это точно только для тех, кто точно знает, что делает. Общий ответ такой: если вы размышляете,
стоит ли использовать %py_provides - то это значит, что не стоит. По крайней мере вам.
ЗЫ: Кстати, заявки на разбор полетов таких модулей по прежнему принмаются на python на neural.ru или в багзиллу
на rpm-build-python.
--
WthBstRgrds -- Андрей Орлов --
--- http: www.neural.ru, mail: cray на neural.ru, jid: cray на altlinux.org ---
----------------------------------------
Подробная информация о списке рассылки Devel