Почему Python 2.7 по-прежнему является версией Python по умолчанию в Ubuntu?

Согласно официальной документации 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.
31
задан 13 August 2019 в 12:26

3 ответа

К моему знанию только дуга Linux сделал это: звонить python3 от значения по умолчанию python команда. Несмотря на рекомендация PEP394 .

Это может быть изменено в /usr/bin путем переопределения ссылок между python, pythonX и pythonX.Y. Но будьте готовы справиться с большим количеством ошибок, так как все Ваши все python2 сценарии передадут под мандат, чтобы иметь явный удар оболочки:

#!/usr/bin/en python2

А окружают удар, который является seldomly, используемым в старых сценариях

0
ответ дан 23 October 2019 в 16:03

Согласно информации о версии Бионического Бобра:

Python 2 больше не устанавливается по умолчанию. Python 3 был обновлен к 3,6. Это - последний выпуск LTS, который будет включать Python 2 в основном.

И вышеупомянутый оператор верен. Python 2 не установлен по умолчанию в 18,04 и версии, выпущенные после этого. Ubuntu уже переместила почти все свои проекты от Python 2 до Python 3. Например, согласно информации о версии Динго Дискотеки:

Samba был обновлен к версии 4.10.x, и одно из больших изменений вот является поддержкой python3. На Дискотеке самба и ее зависимости являются всем python3 только теперь, за исключением tdb. tdb все еще создает python2 пакет, а именно, python-tdb, но все другие, включая саму самбу, являются python3 только.

Кроме того, даже перед релизом Ubuntu 18.04, Ubuntu / Канонический начала просить, чтобы разработчики переместились в Python 3, потому что конец рядом. Из Python - Ubuntu Wiki:

Всей Ubuntu управляемая разработка / Каноническая управляемая разработка должны предназначаться для Python 3 прямо сейчас и всего нового кода, должен быть 3-единственный Python. Если Вы не можете сделать этого из-за своей стопки зависимости, давайте говорить.

Кажется, что в Вашей системе Python 2 был установлен намеренно или может быть как зависимость некоторого другого пакета, разработчика которого не переместили в Python 3. Можно проверить пакеты, которые зависят от Python 2 путем выполнения,

apt rdepends python

Причина, почему Python 2 вызывается когда python выполняется находится в том исторической точки PEP 394 - Команда "Python" в Подобных Unix Системах:

python команда должна всегда вызывать Python 2 (для предотвращения твердо диагностируемых ошибок, когда код Python 2 выполняется на Python 3).

39
ответ дан 23 November 2019 в 00:45

Я делюсь своим опытом в реальном времени,

моя система по умолчанию указывает на python2.7, хотя я установил python3.6 на свой компьютер

Но когда я пытаюсь загрузить новые пакеты для python3.6, но он загружается с python2.7 по умолчанию

, поэтому я наткнулся на этот pyenv,

я установил pyenv

после установки

 $ pyenv install --list
 $ pyenv global

,указав на систему по умолчанию(python2.7)

установлен python3.6

$ pyenv install 3.6.9

изменен с python2.7 на python3.6

$ pyenv global 3.6.9

предположим, если вы хотите установить пакет, связанный с python2.7, затем измените среду python

$ pyenv global 2.7.0
0
ответ дан 10 December 2020 в 11:08

Другие вопросы по тегам:

Похожие вопросы: