Почему apt-get в Ubuntu все равно хочет установить Python 2.7?

Почему apt-get в Ubuntu все равно хочет установить Python 2.7?

Новый Linux VPS, установка Python и нескольких других инструментов, которые мне нравятся. Сделал apt-get updateи apt-get upgrade, и я заметил, что когда я сделал, apt-get install pythonпо умолчанию была установлена ​​версия 2.7. (Однако я могу сделать это, apt-get install python3чтобы установить Python 3)

Мне просто было интересно, почему это не устанавливает Python 3 по умолчанию, кажется, это было бы естественным обновлением, если только это не связано с тем, чтобы не нарушать скрипты, основанные на Python. Также упоминается, когда гуглишь "когда был выпущен python 3", что это был "крупный, обратно несовместимый релиз", так что для меня это наиболее вероятная причина.

Короче говоря, почему apt-get install pythonустанавливается Python 2.7, а не 3? Почему Python 3 до сих пор не является версией по умолчанию (она была выпущена в декабре 2008 года)?

решение1

Причин несколько:

  • В Ubuntu все еще есть скрипты Python 2.x
  • Вы можете без проблем запускать Python 2 и Python 3 рядом друг с другом, просто вызвав правильный двоичный файл.
  • Python 2.7 получит исправление ошибок и поддержку безопасности до 2020 года(и, скорее всего, поддержка сообщества будет распространяться еще шире, либо напрямую, либо через другие среды выполнения, такие как Pypy и др.)
  • Переход /usr/bin/pythonна Python 3 означает, что многие скрипты Python 2 перестают работать, потому что они либо вызывают его явно, либо #!/usr/bin/env pythonнет.#!/usr/bin/env python2

Все это вместе взятое делает обновление по умолчанию в Ubuntu большой тратой времени на исправление проблемы, которая пока не является проблемой. Длительный цикл поддержки Python 2.7 означает, что все должно просто работать™ еще как минимум пять лет.

До тех пор это не вызывает конфликтов или проблем, так что пусть лежит. Это просто еще одна зависимость.

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

Связанный контент