[devel] Python Modules Policy:

Alexey Morozov =?iso-8859-1?q?alex-altlinux_=CE=C1_idisys=2Eiae=2Ensk=2Esu?=
Чт Фев 12 19:15:25 MSK 2004


On Thu, Feb 12, 2004 at 06:22:14PM +0300, Алексей Любимов wrote:
> >См. письмо про RFC.
> >Андрей Орлов в джаббере высказал мнение, что, возможно, стоит пойти по
> >другому пути, с доводкой до ума libAltDist. Возможно, это тоже путь.
> >Более подробно он выскажется сам.
> >
> >Сейчас, я так понимаю, нужно выслушать мнение тех, кто реально будет эти
> >самые модуля собирать (и использовать).
> По моему, все трое уже высказались. :)
Где? Я видел реакцию на мой RFC исключительно от Андрея. И то, в общем,
неполную, а так "навскидку".

> >См. моё решение. F*cking magic, но таки "работает для меня". Причем,
> >если нужно, добавки происходят относительно безболезненно, как _мне_
> >_кажется_ в _настоящее время_
> все, что связано с rpm должно пройти проверку на совместимость с 
> сандменом. Иначе лично мне нет смысла разводить драку.
> Вроде проблем не должно быть...
Ну, я попробую утащить все это дело к Мише, и собрать в хэшере.
Благо, там немного...

> >>По моему все очень просто - поставил Requires: python = %<pversion> и 
> >>получил нужную зависимость.
> >Все автоматом происходит. Аллилуйя! :-)
> не пугайте.
Нет, Вы все-таки попробуйте :-)
pyserial.spec я выдал. У меня уже теперь есть спек на MySQL-python,
заточенный под. Дальше будут модули, от которых зависит Twisted и сам
Twisted.

> >Но для модулей такая зависимость реально нужна.
> Далеко не во всех питон-программах есть модули, но используются модули 
> почти везде.
И? Пускай себе используют, моя-то какая беда?

> Кроме того иногда нет нужды в строгих зависимостях. Спец софт или 
> девелоперский вариант вполне допускает такие фокусы.
Стоп, какие фокусы?

> >Да, конечно. Но они как правило говорят просто
> >import smth
> >а уж откуда этот smth потянется - забота того питона, при помощи
> >которого эта прога выполняется. Сменится питон, сменится и место.
> >Но это никак не заденет саму прогу (вопросы совместимости разных
> >версий _языка_ оставим в стороне)
> а зависимости в пакете на эти модули кто будет ставить и каким образом?
Очень просто
Requires: python-pyserial = <требуемая версия>
Оно автоматом предоставляется.
В смысле,
pythonXY-pyserial предоставляет pyserial
Если у программы нет предпочтений по поводу, какой питон ей
использовать, она просит именно "общую версию".

> Если программа собрана под питон23, то и зависиость будет python23-smth. 
> такой вариант работает.
Ну, "программа", в общем случае, ни под что не собрана, она сама по себе
программа. С #!/usr/bin/env python .. внутри. Как сделать так, чтобы
она хотела python-Module1 python-Module2 python-Module3, и при установку
в систему _еще_ одного питона, в _дополнение_ к существующему, автоматом
притаскивались pythonXY-Module1, pythonXY-Module2 итп, я [пока] не знаю.

> а если "универсальный вариант", то получится тот же коленчатый вал, 
> когда половина модулей в одном питоне, половина в другом, а программа 
> импортит оба множества и с любым питоном не работает при полном 
> непротиворечии в базе rpm.
Ну, надо что-то придумывать. Либо сказать, что те, кто держит у себя на
машине сразу _два_ питона, должны делать всё руками и внимательно.
Разница лишь в том, что предложенная мной схема _допускает_ возможность
решения в случае, если питонов больше одного. Но на уровне: "надо -
сделай сам". Хоть и предоставляет достаточно удобные [на мой взгляд ;-)]
ручки конечному пользователю.



> pyhon22-Twisted  полный коплект в  варианте для pyhon22
> pyhon22-doc
> 
> pyhon23-Twisted  полный коплект в  варианте для pyhon23
> pyhon23-doc
Ну, если под pyhonXY-doc имелся ввиду python-Twisted-doc (на самом деле,
документацию смысла плодить не имеет, она одинаковая), то примерно так и
будет. Ну, разве что, pythonXY-Twisted может называться как-нибудь типа
pythonXY-Twisted-full или около того.

> + Альтернатива slave к питону.
Альтернатива на _что_?

> 
> >Ну, можно, конечно, оформить это как %def_without python_source,
> >но, гхм... В общем, думать надо.
> ага.
Ну, тогда, когда нужны .py, тянем .src.rpm и пересобираем? Так что-ли?

> >В общем, пилить его надо. Не знаю, какова ситуация именно с Zope, но
> >по зависимостям полный Twisted, если его паковать правильно, тянет,
> >н-р, pygtk, который тянет GTK+/Glade, а что начинается дальше, в общем,
> >рассказывать не надо, да? :-) И это несмотря на то, что я, в общем,
> >захотел безобидной вещи, простенький серверок поверх http запустить :-)
> >"Абидна, да-а?! Ничего нэ сдэлал, да-а?!"
> Зависимости, это как раз причина для распила. В zope я этой причины не 
> пронаблюдал. Может, плохо смотрел.
М.б. Я не работал с Zope.

> >Кстати, насчет .pyc vs .pyo. В .pyc есть какой-нибудь смысл при наличии
> >.pyo (кроме отдельно оговоренных единичных случаев)?
> Андрей явно более осведомлен.
> По моему не нужны pyc
Ok.

> >Супер.
> ерунда. он в плоне как раз и не установлен.
Меня список впечатлил. Как говорится, и шо ви с этог'о имеете? :-)

> >При этом версия питона "по умолчанию" мне, в общем, по барабану
> >(ну, при условии, что у меня код написан так, что его реально можно
...
> >случае, а slave'ы на python), ничего специального. Выбор версии питона
> >происходит в момент пробегания по /usr/bin/python -> ... ->
> >/usr/bin/pythonX.Y
> ну так и ставить нужную версию.
> twisted23 или twisted22 если так уж не хочется альтернатив.
Ну, это да, конечно. Просто если держать обе сразу (у меня были такие
шальные мысли, по крайней мере, поначалу), то тогда их (программы)
приходится разводить по именам, городить альтернативы итп. А зачем,
если они все равно одинаковые? Поэтому я и поступил таким вот образом.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?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/20040212/f461bccc/attachment-0001.bin>


Подробная информация о списке рассылки Devel