From: Andrey Orlov <cray@neural.ru>
To: ALT Devel discussion list <devel@altlinux.ru>
Subject: Re: [devel] Сборка пакетов, содержащих .py
Date: Fri, 16 Jan 2004 18:10:40 +0300
Message-ID: <200401161810.40534.cray@neural.ru> (raw)
In-Reply-To: <20040116105005.GA5288@pyro.hopawar.private.net>
On Friday 2004 January 16 13:50, Alexey Morozov wrote:
> On Fri, Jan 16, 2004 at 10:12:43AM +0300, Andrey Orlov wrote:
> > Особенно автороство того, кто и что вам говорит? На этот вопрос
> > отвечали, в разное время, два человека - я & Максим, и ответ был
совсем
> > не такой.
> Вопрос был другой :-)). И отвечали на него не Вы :-)
Тогда почему вы приписали этот ответ мне? Вы сказали - один из
занимающихся сборкой python. Если верить changelog - Максим сборкой
python не занимался, последние сборки python - мои. Мой же ответ был
другой, и так как мне влом искать его в pipermail, то я его повторяю
специально для вас еще раз:
"Исходный код программ на питоне в общем случае не переносим при смене
2.1 -> 2.2 -> 2.3. Это для меня _очень_ большая проблема, решением
которой на почве сервера приложений Zope я занимаюсь уже два года, и
об этой проблеме в свое время было написано не мало писем
русскоязычной питоновской рассылке."
Только что (см. патчи к Z262) пришлость устранять из Zope
несовместимости с новой версией python. Если вы загляните на сайт
zope.org, то увидите, что половина changes в Zope263 посвящены именно
переносу его на python23.
> /usr/lib/python2.2
> /usr/share/python2.2
> Кто прав, Максим или доки на питон, я не знаю, но это, в общем, в
> контексте вопроса, обсуждаемого в _этом_ треде, и не важно.
Скомпиленный питоновский модуль нельзя разместить с другим путем. Так
как после этого он начинает немножко неправильно работать, (кажется,
в частности, выдавать неверную диагностику). Установлено это было еще
до моего прихода в команду, и кажется именно этим обусловлена
__двойная__ байт-компиляция всего питоновского кода. Подробнее об
этом может рассказать LDV если я правильно понимаю.
> > И такая привязка - хорошо, потому что альтернативы нет.
> Привязка для _скриптов_? Можно сузить область обсуждения: для
скриптов,
> которыми питоньи .tex-доки конвертируются в различные другие
форматы?
> Нет, я с Вами не согласен. Если бы это было так, то на питоне вообще
> ничего нельзя было бы писать. По счастью, на таком уровне переезд с
> одной версии на другую осуществляется безболезненно, так что,
> зависимости на python2.2 или python2.3 здесь быть не должно.
Я еще раз вам говорю: такие зависимости есть. Самые заметные из них -
начиная с версии 23 питоновская программа не должна содержать
символов из второй половины кодовой таблицы или должна содержать
специальный заголовок с указанием кодировке. Без этого будет
выводится warning, вывод которого, в некоторых случаях, приводит к
нарушению работы скриптов и их окружения. Другие изменения, опять же
самыае заметные: None стало ключевым словом (половина Access* в Zope
отвалилась), модуль rotor был задеприкейчен - что опять же привело
к некислой правке того же Zope.
> Итого, сухой остаток:
>
> Долой /usr/lib/rpm/brp-bytecompile_python!
> Даешь /usr/lib/rpm/python.{req,prov}!
Сухой остаток: я бы попросил ничего не менять, не разобравшись.
Прекомпиляцию модулей лучше пока оставить, тем более что именно в
контексте етого треда, ее изъятие _вашей_ проблемы не решит, из-за
непериносимости _исходного_ кода на языке питон в _общем_ случае.
Если вы считаете что _ваш_ пакет не должен содержать *pyc & *pyo - вы
можете не _включать_ их в секцию files _вашего_ spec'а. А все
глобальные изменения порядка комплиции стоит согласовывать со всеми.
Пока что _лично_я_ против таких изменений, и я хотя я согласен что
ситуацию с pyc & pyo надо менять - я против изъятия прекомпиляции как
таковой, так как наличие байткомпиляции является существенным
преимуществом питона перед, скажем, перлом.
> Давайте жить дружно!
Давайте, только прислушивайтесь к чужому мнению? На сегодняшний день
оно такое:
1. Перенос байт-кода из одной версии в другую не допустим;
2. Перенос исходного кода из одной версии в другую может приводить к
ошибкам, что отменяет возможность решения проблемы двух питонов за
счет отказа от прекомпиленного кода;
3. Сама проблема двух питонов является надуманной, так как никакой
необходимости держать два питона на одной машине я не знаю;
4. Отказ от прекомпиляции является большой ошибкой, т.к.
прекомиплияция являетс существенным преимуществом языка питон.
По поводу py, pyc, pyo - я сейчас работаю над тем, что бы начится
безболезненно разбивать модули на три составляющих:
module-src, module, module-opt - каждый из которых содержит только
один тип прекомпиленных модулей. Никаких проблем здесь не возникает
(так ставится один мой проект), но пока что это не автоматизировано,
чем собственно я и занимаюсь. На самом деле, я не вижу проблем в том,
что бы при установке модулей, в норме, не ставить исходников этих
модулей, что существенно экономит место и решает еще ряд проблем.
Я это к тому, что бы было известно в какую сторону думаю, скажем, я.
--
Спасибо за проявленное понимание -
-- Андрей Орлов
next prev parent reply other threads:[~2004-01-16 15:10 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-01-13 13:02 Alexey Morozov
2004-01-13 13:16 ` Dmitry V. Levin
2004-01-14 15:04 ` Alexey Morozov
2004-01-14 15:16 ` Dmitry V. Levin
2004-01-16 2:51 ` Alexey Morozov
2004-01-14 16:35 ` [devel] " Michael Shigorin
2004-01-16 7:12 ` [devel] " Andrey Orlov
2004-01-16 10:50 ` Alexey Morozov
2004-01-16 11:30 ` Klimchev Konstantin
2004-01-16 11:46 ` Alexey Morozov
2004-01-16 11:58 ` Klimchev Konstantin
2004-01-16 15:10 ` Andrey Orlov [this message]
2004-01-16 19:58 ` Alexey Morozov
2004-01-16 21:02 ` Andrey Orlov
2004-01-19 15:13 ` Alexey Morozov
2004-01-19 15:26 ` Andrey Orlov
2004-01-16 23:20 ` Dmitry V. Levin
2004-01-18 18:32 ` Andrey Orlov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200401161810.40534.cray@neural.ru \
--to=cray@neural.ru \
--cc=devel@altlinux.ru \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git