[devel] Python 2 EOL
Vladimir D. Seleznev
vseleznv на altlinux.org
Пн Окт 21 01:10:04 MSK 2019
On Sun, Oct 20, 2019 at 09:15:32PM +0300, Ivan Zakharyaschev wrote:
>
> On Sun, 20 Oct 2019, Vladimir D. Seleznev wrote:
>
> > On Sun, Oct 20, 2019 at 06:13:02PM +0300, Ivan Zakharyaschev wrote:
> > > On Sun, 20 Oct 2019, Vladimir D. Seleznev wrote:
> > >
> > > > On Sun, Oct 20, 2019 at 02:41:31PM +0400, Sergey Y. Afonin wrote:
> > > > > On Saturday 06 July 2019, Vladimir D. Seleznev wrote:
> > > > >
> > > > > > > 1. Намечен ли дедлайн, когда все эти пакеты нужно перевести на
> > > > > > > Python3, или это пока больше пожелание? Например, scons я не могу
> > > > > > > обновить прямо сейчас, сломается сборка mongo, нужно дождатся нового
> > > > > > > релиза.
> > > > > >
> > > > > > Нет, дедлайна не намечено. Это скорее письмо с обозначением проблемы и,
> > > > > > да, пожелание перевести всё, что можно перевести, на третий Python.
> > > > >
> > > > > Я тут в тексте про gpsd нашёл:
> > > > >
> > > > > | Python.org says that if you have an installed Python, there should be a program
> > > > > | in your path called 'python'. This is specified in PEP 394. This rule is not
> > > > > | always followed. You can work around this by linking python3 to python like this
> > > > > |
> > > > > | ln -s /usr/bin/python3 /usr/bin/python
> > > > >
> > > > > Перекликается со свежей темой "Новая версия GnuPG в Сизифе" и переименование
> > > > > бинарника в аналогичном, но несовместимом пакете. Но то, что /usr/bin/python
> > > > > сейчас python 2, вынуждает фиксить сборку (gpsd) прямо как-то вот так:
> > > > >
> > > > > sed -i 's|/usr/bin/python|%__python3|' contrib/gpsData.py
> > > > >
> > > > > find -type f -name "*.py" -exec sed -i 's|/usr/bin/env python|%__python3|' {} \;
> > > > >
> > > > > for FILE in gegps gpscat gpsfake gpsprof ubxtool xgps xgpsspeed zerk ; do
> > > > > sed -i 's|/usr/bin/env python|%__python3|' $FILE
> > > > > done
> > > >
> > > > Любопытно. Я не разбираюсь в сборке пакетов на python3, но в тех
> > > > пакетах, которые я собирал, путь в шебанге правильный без дополнительных
> > > > действий с моей стороны. Либо это апстрим позаботился, либо что-то из
> > > > rpm-build-python3. Лучше всех в этом разбирается imz на .
> > >
> > > Нет, собственно rpm-build-python3 ничего не переделывает. Т.е. upstream
> > > (или setuptools) позаботились.
> > >
> > > Просто считалось, что если скрипт готов к python3, то ему явно это кто-то
> > > пишет в shebang.
> > >
> > > Возможно, со временем появляется всё больше скриптов, написанных на
> > > python3 и которые считают, что python это по умолчанию python3. Не очень
> > > понятно, что с этим деалть и делать ли. Нам хочется определённости при
> > > упаковке, какой язык используется в скрипте. (Скорее всего это не пакеты с
> > > pypi, офрмленные для setuptools.)
> >
> > Явное лучше неявного. Если возможно автоматически исправлять шебанг на
> > #!/usr/bin/python2 или #!/usr/bin/python3, то лучше так и делать.
>
> Тоже так думаю. Но раньше у нас в пакетах никто не привык делать
> /usr/bin/python2 вместо /usr/bin/python. Нужно будет переучиваться,
> переходить.
Я имел в виду автоматически заменять шебанг при сборке, если это возможно.
--
С уважением,
Владимир Селезнев
Подробная информация о списке рассылки Devel