[devel] вопрос по сборке python-module
Kirill Maslinsky
=?iso-8859-1?q?kirill_=CE=C1_altlinux=2Eru?=
Чт Мар 31 15:52:27 MSD 2005
Привет!
> модуль, то и питон этот модуль, скорее всего, не найдет. Ставить один из выше приведенных
> операторов имеет смысл только в том случае, если вы стопудово уверены, что имеете
> дело с одним из тех редких случаев, когда это рекомендовано в 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. И именно он порождает спорную зависимость.
Похоже, у меня не этот случай:
$ fgrep -r audio_zip *
positron/db/new/__init__.py:import audio_zip
positron/db/new/__init__.py:import pcaudio_zip
positron/db/new/__init__.py:zips = { "audio" : audio_zip.data,
positron/db/new/__init__.py: "pcaudio" : pcaudio_zip.data,
positron/db/new/audio_zip.py:"""Resource audio_zip (from file audio.zip)"""
positron/db/new/pcaudio_zip.py:"""Resource pcaudio_zip (from file pcaudio.zip)"""
При этом provides audio_zip без проблем обнаруживается автоматически,
а pcaudio_zip -- нет. И вроде бы они употребляются абсолютно симметрично
и даже в соседних строках (выше приведён полный вывод fgrep по
исходникам программы).
> Я такие файлы обычно так или иначе удаляю из пакета... . Некоторые другие способы описаны в FAQ.
> У вас может быть и другой случай, некоторые из них тоже описаны в FAQ.
Я как будто бы подходящего случая в FAQ не нашёл. Или есть?
> В любом случае, если %add_python_req_skip не нарушает общей логики репозитория (вы вредите только себе),
А чем врежу? Что программа сама на найдёт этот модуль? Но у меня работает -- я
давно ею пользуюсь, просто сейчас решил собрать с 2.4 и выложить в Сизиф.
> то %py_provides - это точно только для тех, кто точно знает, что делает. Общий ответ такой: если вы размышляете,
> стоит ли использовать %py_provides - то это значит, что не стоит. По крайней мере вам.
>
> ЗЫ: Кстати, заявки на разбор полетов таких модулей по прежнему принмаются на python на neural.ru или в багзиллу
> на rpm-build-python.
Это можно, если имеет смысл (исходя из вышепроцитированного).
И какая информация нужна, чтобы разобраться -- исходники целиком?
--
Kirill Maslinsky
ALT Linux Documentation Team
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20050331/263f8272/attachment-0001.bin>
Подробная информация о списке рассылки Devel