Как безопасно переключиться на python3 по умолчанию после обновления до Ubuntu 18.04

Поскольку python3 является версией Python по умолчанию в Ubuntu 18.04 и python2 не будет поставляться по умолчанию при новой установке Ubuntu 18.04, как я могу сделать python3 по умолчанию после обновления до Ubuntu 18.04 (с 16.04). В настоящее время после обновления до python2 по-прежнему дефолт (например, python команда направляет python2 так далее.). Однако, продув python Пакет приведет к удалению слишком большого количества пакетов, которые полагаются на него, так что это не вариант здесь.

В идеале я хочу удалить python2 зависимость как можно больше. Может быть, процесс обновления может быть разработан таким образом, чтобы он проверял все пакеты, действительно ли они все еще полагаются на python2 зависимости и тем самым собрать все python2 зависимости, которые могут быть заменены эквивалентными python3 зависимость (которая будет решена обновлением).

3 ответа

Этот пост немного устарел, но я считаю, что существует лучшая альтернатива: enter update-alternatives, Следующее установит ваш /usr/bin/python по умолчанию 2,7, но 3,6 доступны, когда вы хотите:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 20
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 10

Наивысший приоритет здесь используется как "автоматический" выбор для /usr/bin/python но вы можете легко переключиться, запустив sudo update-alternatives --config python,

Чтобы полностью удалить python2, вы должны очистить python2.x-minimal пакет, который делается

sudo apt purge python2.x-minimal

заменив x точной версией python 2 в вашей системе. Но обязательно посмотрите, какие другие пакеты удалены, поскольку у вас, возможно, были пакеты, которые все еще зависят от python 2 даже после обновления, и эти пакеты также будут удалены и перестанут работать.


Не существует такого понятия, как интерпретатор Python по умолчанию, потому что это зависит только от того, какой файл /usr/bin/python указывает на, чтобы изменить это на Python использовать ln команда для обновления ссылки, например, допустим, вы хотите, чтобы она указывала на python 3.6

sudo ln -sfn /usr/bin/python3.6 /usr/bin/python

Кроме того, если вы просто хотите, чтобы это было для вашего пользователя, вы можете установить его в качестве псевдонима в вашем .bashrc, чтобы сделать это, откройте ~/.bashrc в вашем редакторе выбора и добавьте следующую строку

alias python='python3.6' 

На моем 16.04 /usr/bin/python это просто ссылка на /usr/bin/python2.7 поэтому я предполагаю, что вам просто нужно изменить эту ссылку, чтобы указать на /usr/bin/python3.x (с адекватным x конечно).

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