Почему python 3 не является двоичным файлом Python по умолчанию?

Я ввожу python в окне терминала. Я получаю Python 2.7 и не Python 3.5. Согласно документам, Python 3.5 должен появиться предварительно загруженный.

43
задан 25 August 2016 в 05:01

5 ответов

Я не знаю, какие «документы» вы читаете и что в них говорится, но / usr / bin / python - это просто символическая ссылка на версию по умолчанию. из python, в данном случае 2.7, что является результатом простого ввода python на терминале. Это результат PEP 394 , который определяет, что

  • на данный момент, все дистрибутивы должны гарантировать, что python ссылается на ту же цель, что и python2 .

type python и file / usr / bin / python подтвердят это.

Причина такого расположения, отличная от соглашения, заключается в том, что исходный пакет python-default в Xenial - это версия 2.7.11 , поэтому символическая ссылка python указывает на эту версию.

Чтобы использовать python 3, вы должны быть явным и ввести python3 в командной строке, то есть рекомендуется, если вам нужна конкретная версия, это также можно сделать с помощью python 2, набрав python2 . Ubuntu по умолчанию включает в себя версии Python 2 и 3.

Есть планы перенести все на Python 3 и пометить его как версию по умолчанию.

56
ответ дан 23 November 2019 в 00:05

Чтобы получить REPL Python 3.5 или запустить совместимый сценарий, введите python3 . Это сделано для обеспечения совместимости со всеми устаревшими версиями python 2.x (которые всегда были и останутся связанными с python ).

Чертеж может найти python , если вы установите создайте для него файл .desktop ~ / .local / share / applications / ), например, чтобы открыть терминал и запустить REPL. Среда REPL GUI по умолчанию для python не существует, и обычные ожидания интерфейса заключаются в том, что пользователь перейдет к терминалу.

Говорят, что python 3.5 является по умолчанию, это то, что сопровождающие переносят все системные сценарии с python 2.x на python 3.x, а не то, что python 3 во всех случаях заменит python 2.

10
ответ дан 23 November 2019 в 00:05

Доступны версии Python как 2.x, так и 3.x. если вы вызываете python, поскольку он указывает на python 2.x, он загрузит python 2.x

Изображение ниже поможет вам.

enter image description here

2
ответ дан 23 November 2019 в 00:05

Python 3.x должен работать с 16.04 - На самом деле, это точно БУДЕТ работать. У меня Ubuntu 14.04 и Python 3.4.3. Все, что вам нужно сделать, чтобы проверить это, - это ввести python3 , и он должен сообщить вам, какую версию вы используете.

2
ответ дан 23 November 2019 в 00:05

Вы предполагаете, что Python по умолчанию должен быть доступен как python . Это предположение неверно.

В системе, которая поставляется с «предварительно загруженным» Python 3 и вообще без Python 2, будет только python3 и не будет python .

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

Может наступить момент времени, возможно, через десятилетия, когда почти никто не вспомнит Python 2, когда python может начать ссылаться на python3 . Это было бы чисто для удобства, и это можно и не следует делать преждевременно, если вообще! Не нужно спешить из-за следующего воздействия:

«Текущие старые» системы не будут знать python2 , только python , поэтому имеет смысл сохранить Python 2 код ищет python . Это причина, по которой python должен ссылаться на Python 2, «пока существует код Python 2».

Новый код, написанный для Python 2, если в этом есть смысл, может отлично искать питон . Он также может искать python2 , если он предназначен для работы только в системах с поддержкой Python 3 и хорошо подготовленных (которые должны предлагать такую ​​ссылку).

Преимущества кода Python 2 с использованием python2 будет означать, что он не требует дополнительных прикосновений, как только python начнет ссылаться на python3 , что может никогда не произойти, либо однажды python исчезнет вообще, что может а может и не случиться. (Это может сбыться, если код Python 2 вымрет после того, как гипотетический Python 4 станет популярным с его интерпретатором python4 . - Потому что он указывает либо на python3 , либо на python4 ] оба могут сбить с толку.)

4
ответ дан 23 November 2019 в 00:05

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

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