Согласно официальной документации 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.
К моему знанию только дуга Linux сделал это: звонить python3
от значения по умолчанию python
команда. Несмотря на рекомендация PEP394 .
Это может быть изменено в /usr/bin
путем переопределения ссылок между python
, pythonX
и pythonX.Y
. Но будьте готовы справиться с большим количеством ошибок, так как все Ваши все python2 сценарии передадут под мандат, чтобы иметь явный удар оболочки:
#!/usr/bin/en python2
А окружают удар, который является seldomly, используемым в старых сценариях
Согласно информации о версии Бионического Бобра:
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).
Я делюсь своим опытом в реальном времени,
моя система по умолчанию указывает на 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