Согласно официальной документации Python, поддержка Python2.7 скоро закончится.
УСТАРЕВАНИЕ: Python 2.7 завершит свою работу 1 января 2020 года. Пожалуйста, обновите ваш Python, так как Python 2.7 не будет поддерживаться после этой даты. В будущей версии pip будет отсутствовать поддержка Python 2.7. Более подробную информацию о поддержке Python 2 в pip можно найти по адресу https://pip.pypa.io/en/latest/development/release-process/#python-2-support.
Почему Ubuntu не использует Python3 по умолчанию в следующей версии?
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="19.04 (Disco Dingo)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 19.04"
VERSION_ID="19.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=disco
UBUNTU_CODENAME=disco
$ python
Python 2.7.16 (default, Apr 6 2019, 01:42:57)
[GCC 8.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
python
release-management
ラ ビ ナ ン ダ ン
источник
источник
Ответы:
Согласно примечаниям к выпуску Bionic Beaver :
И приведенное выше утверждение верно. Python 2 не установлен по умолчанию в 18.04 и выпущенных после него версиях. Ubuntu уже переместил почти все свои проекты с Python 2 на Python 3. Например, согласно примечаниям к выпуску Disco Dingo :
Более того, еще до выхода Ubuntu 18.04 Ubuntu / Canonical начали просить разработчиков перейти на Python 3, потому что конец близок . Из Python - Ubuntu Wiki :
Похоже, что в вашей системе Python 2 был установлен преднамеренно или может зависеть от какого-то другого пакета, разработчик которого не перешел на Python 3. Вы можете проверить пакеты, которые зависят от Python 2, запустив,
Причина , почему Python 2 вызывается при
python
запуске лежит в одной из исторической точки PEP 394 - «питон» Command на Unix-подобных системах :источник
#!/usr/bin/python
или эквивалентными, которые могут сломаться, если быpython
сталиpython3
, тогда как случайные сценарии, которые зависят от Python 3, с большей вероятностью начнутся с#!/usr/bin/python3
.Насколько мне известно, только arch linux сделал это: вызвать
python3
из команды по умолчаниюpython
. Несмотря на рекомендацию PEP 394 .Это можно изменить
/usr/bin
, переопределив связи междуpython
,pythonX
иpythonX.Y
. Но будьте готовы справиться с множеством ошибок, так как все ваши скрипты на python2 будут иметь явный удар оболочки:Обстрел оболочки, который редко используется в старых сценариях.
источник