[devel] Python 2 EOL

Ivan Zakharyaschev imz на altlinux.org
Вс Окт 20 21:15:32 MSK 2019


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. Нужно будет переучиваться, 
переходить.

-- 
Best regards,
Ivan


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