Изменить версию Python по умолчанию в Ubuntu

Обновлено: 05.07.2024

По умолчанию Ubuntu использует Python 2 в своей системе. Даже если вы установите Python 3 в Ubuntu, он все равно будет ссылаться на Python 2 всякий раз, когда вы вызываете команду «python». Но иногда вам может понадобиться установить Python 3 в качестве версии по умолчанию в Ubuntu, если у вас есть программы, использующие новейшие функции Python. В этой статье мы рассмотрим, как установить версию Python по умолчанию в Ubuntu. Вы можете использовать эти шаги для переключения с Python 2 на Python 3 в Ubuntu. Вы также можете использовать его для изменения версии Python по умолчанию на любую другую версию, которая вам нравится, если вы используете правильные пути к файлам для установки Python в вашей системе.

Как установить версию Python по умолчанию в Ubuntu

Вот шаги, чтобы установить версию Python по умолчанию в Ubuntu. Обратите внимание, что для выполнения следующих шагов вам необходимо войти в Ubuntu как пользователь root или пользователь с привилегиями sudo.

1. Проверить версию Python

Откройте терминал и выполните следующую команду, чтобы проверить версию Python в Ubuntu.

2. Выполнить альтернативные варианты обновления

Выполните следующую команду, чтобы установить Python по умолчанию в Ubuntu.

В приведенной выше команде вам нужно указать старый путь Python после опции –install, а затем новый путь Python. Приведенная выше команда устанавливает приоритет 10 для пути python3. Если вы установили python3 в другую папку, обновите указанные выше пути в соответствии с вашими требованиями.

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

3. Проверьте версию Python еще раз

Теперь снова проверьте версию Python, и вы обнаружите, что она изменилась на новую версию Python.

Вот и все. В этой статье мы узнали, как установить версию Python по умолчанию в Ubuntu. После того, как вы установите эту версию Python, она будет применима ко всем скриптам Python, запущенным в вашей системе. Это лучший вариант, чем использование псевдонима в .bashrc, который не работает с командами, использующими ключевое слово sudo. Использование альтернативных обновлений изменяет вашу систему python по умолчанию. Фактически, вы даже можете использовать его для понижения версии Python, если у вас возникли проблемы.

Я пытался установить версию Python по умолчанию на python3 в Ubuntu 16.04. По умолчанию это python2 (2.7). Я выполнил следующие шаги:

но я получаю следующую ошибку для второго оператора,

Я новичок в Ubuntu и не знаю, что делаю не так.

Постарайтесь не удалять Python 2.7, так как это нанесет вред многим функциям вашей ОС (из опыта :( )

Предупреждение: мне кажется плохой идеей переходить с Python на Python 3. По умолчанию для вызова скриптов, написанных на Python 2, используется python my-script-p2.py , а python3 my-script- р3.ру . Я ожидаю, что многие системные скрипты будут полагаться на это.

24 ответа 24

Вторая упомянутая строка может быть изменена на

Это дает приоритет 10 для пути python3 .

Недостаток альтернативного редактирования .bashrc заключается в том, что использование команд с sudo не будет работать.

» в сообщении об ошибке уже предложил это. Кстати, «sudo» обычно требуется для запуска этой команды установки.

Как сказал ywu, мне пришлось запустить "sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10"

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

Не работает полностью -- после этой команды python запускает python3 , но python-config по-прежнему запускает python2-config, что приводит к общему сбою

Я написал это, когда был молод и наивен, альтернативы обновления — лучший способ сделать это. См. ответ @Pardhu.

Откройте файл .bashrc nano ~/.bashrc . Введите alias python=python3 в новую строку вверху файла, затем сохраните файл, нажав ctrl+o, и закройте файл, нажав ctrl+x. Затем вернитесь к исходному коду командной строки ~/.bashrc . Теперь ваш псевдоним должен быть постоянным.


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

@alexchenko вы не добавили приоритет в конце. сразу после python3.5.2 вы должны поставить что-то вроде 10

Чтобы изменить Python 3.6.8 по умолчанию в Ubuntu 18.04 на Python 3.7.

Установите Python 3.7

Действия по установке Python3.7 и настройке его в качестве интерпретатора по умолчанию.

Установите пакет python3.7 с помощью apt-get

sudo apt-get установить python3.7

Добавить Python 3.6 и Python 3.7 в альтернативные варианты обновления

Обновите Python 3, чтобы указать на Python 3.7

sudo update-alternatives --config python3 Введите 2 для Python 3.7

Проверить версию Python


Возможно, вы захотите включить предупреждение о том, что это может нарушить работу упакованного программного обеспечения. Python 3.6 является распространяемым по умолчанию, и все программные пакеты, входящие в комплект поставки, также предполагают эту версию.

@Ви Хонг, да, можешь. Вместо $ sudo update-alternative --install /usr/bin/python3 python3 . вы просто замените на $ sudo update-alterative --install /usr/bin/python python . и после: sudo update-alternatives --config python.

У меня сработало, но я понял, что у меня в системе есть несколько старых пакетов, в которых были сценарии предварительного удаления python2. Поэтому я не мог их удалить — мне пришлось переключиться обратно на python2, чтобы удалить их.

Если у вас Ubuntu 20.04 LTS (Focal Fossa), вы можете установить python-is-python3 :

который заменяет символическую ссылку в /usr/bin/python на /usr/bin/python3 .

Поскольку речь идет о последнем дистрибутиве, я предлагаю использовать apt вместо apt-get для подкоманды установки.

Чтобы перейти на python3, вы можете использовать следующую команду в псевдониме терминала python=python3 .


Но это работает только для текущего запущенного процесса в терминале. Если я закрою и открою терминал, он вернется к python2.

Простым безопасным способом было бы использование псевдонима. Поместите это в файл ~/.bashrc: если у вас есть редактор gedit, используйте

чтобы перейти в файл bashrc, а затем в верхней части файла bashrc внесите следующие изменения.

После добавления вышеуказанного в файл. выполните приведенную ниже команду

источник ~/.bash_aliases или источник ~/.bashrc

$ python --version

Python 2.7.6

$ python3 --version

Python 3.4.3

< p>$ alias python=python3

$ python --version

Python 3.4.3

Просто следуйте этим шагам, чтобы изменить Python по умолчанию на обновленную версию Python. У меня сработало хорошо.

  • sudo apt-install python3.7 Установите последнюю версию Python, которую вы хотите
  • cd /usr/bin Введите корневой каталог, в котором установлен Python
  • sudo unlink python или sudo unlink python3 . Отключить текущий Python по умолчанию
  • sudo ln -sv /usr/bin/python3.7 python Ссылка на новую загруженную версию python
  • python --version Проверьте новую версию Python, и все готово.

Сначала установите python3 и pip3

затем в терминале запустите

Проверьте версию Python на вашем компьютере.

Обновление:
Начиная с Ubuntu 20.04, python3 является версией по умолчанию, но, тем не менее, python не зарегистрирован как python3 по умолчанию. Чтобы это произошло, вы можете просто сделать:

Для получения дополнительной информации вы можете проверить это.
Старый способ:

затем напишите либо

Сохраните файл, закройте терминал и снова откройте его.
Теперь ты должен быть в порядке! Ссылка


В качестве дополнительного дополнения вы также можете добавить псевдоним для pip (в .bashrc или bash_aliases):

Многие обнаруживают, что чистая установка python3 на самом деле указывает на python3.x, поэтому вам может понадобиться:

Это простой способ, который мне подходит.

Вы можете изменить /usr/bin/python3 на свой путь к python3 (или нужную версию).

Но имейте в виду, что альтернативы обновления, вероятно, лучший выбор.

Как говорится, update-alternatives --install need

У вас есть ссылка ( /usr/bin/python ), имя ( python ) и путь ( /usr/bin/python3 ), вам не хватает приоритета.

update-alternatives --help сообщает:

является целым числом; варианты с более высокими номерами имеют более высокий приоритет в автоматическом режиме.

Поэтому просто поставьте 100 или около того в конце

получить путь Python из

затем установите версию Python


Чтобы заменить Python 3.6.8 по умолчанию в Ubuntu 18.04 с Python 2.7, вы можете попробовать инструмент командной строки update-alternatives .

Если вы получили сообщение об ошибке "нет альтернатив для python", настройте альтернативу самостоятельно с помощью следующей команды:

Измените путь /usr/bin/python3 на нужную версию Python соответственно.

Последний аргумент, указывающий приоритет, означает, что если вручную альтернатива не выбрана, будет установлена ​​альтернатива с наивысшим номером приоритета. В нашем случае мы установили приоритет 2 для /usr/bin/python3.6.8, и в результате /usr/bin/python3.6.8 был автоматически установлен как версия Python по умолчанию командой update-alternatives.

мы можем в любое время переключаться между перечисленными выше альтернативными версиями Python, используя приведенную ниже команду и вводя номер выбора:

Ваша установка Debian Linux может включать несколько версий Python и, таким образом, также включать несколько исполняемых двоичных файлов Python, и можно изменить версию Python, используемую системой.

В этом руководстве вы увидите, как установить несколько версий Python и изменить версию Python в Debian с помощью команды update-alternatives python. Ознакомьтесь с разделами ниже, чтобы узнать, как это сделать.

В этом уроке вы узнаете:

  • Как установить несколько версий Python
  • Как изменить версию Python в Debian

Установите Python в Debian


Существует множество различных версий Python. Две из них, которые, вероятно, хотят установить большинство разработчиков и которые доступны в репозиториях Debian по умолчанию, — это последние версии Python 2 и 3. Для их установки можно использовать приведенные ниже команды.

Установите Python 2 в Debian:

Установите Python 3 в Debian:

Какую версию Python я использую?

Вы можете запустить следующую команду ls, чтобы узнать, какие бинарные исполняемые файлы Python доступны в вашей системе:

Чтобы проверить, какая у вас версия Python по умолчанию, выполните:

Изменить версию Python для каждого пользователя

Чтобы изменить версию Python для каждого пользователя, просто создайте псевдоним в домашнем каталоге пользователя. Откройте файл ~/.bashrc и добавьте новый псевдоним, чтобы изменить исполняемый файл Python по умолчанию:

После внесения указанных выше изменений повторно войдите в систему или создайте исходный файл .bashrc:

Проверьте версию Python по умолчанию:

Изменить общесистемную версию Python с помощью update-alternatives python

Чтобы изменить общесистемную версию Python, мы можем использовать команду update-alternatives python. Войдя в систему как пользователь root, сначала перечислите все доступные альтернативы Python:

Приведенное выше сообщение об ошибке означает, что команда update-alternatives не распознала альтернативы Python. По этой причине нам нужно обновить нашу таблицу альтернатив и включить как python2.7, так и python3.4:

Опция --install принимает несколько аргументов, из которых можно создать символическую ссылку. Последний аргумент, определяющий его приоритет, означает, что если вручную не будет выбрана альтернатива, будет установлена ​​альтернатива с наивысшим номером приоритета. В нашем случае мы установили приоритет 2 для /usr/bin/python3.4, и в результате /usr/bin/python3.4 был автоматически установлен как версия Python по умолчанию командой update-alternatives.

Далее мы снова можем перечислить все альтернативы Python:

С этого момента мы можем в любое время переключаться между перечисленными выше альтернативными версиями Python, используя приведенную ниже команду и вводя номер выбора:

 debian linux изменить альтернативную версию python

Приложение

Если в нашей системе больше не установлена ​​альтернативная версия Python, мы можем удалить ее список альтернативных обновлений. Например, давайте удалим версию python2.7:

В: Изменяет ли это файл .bashrc? Если да, то какие? ~/.bashrc? еще один? если да, то какие?

Жалуется, что не может найти /usr/bin/python3.8, бууууут:

gt@gt-ThinkPad-X230:~$ ls /usr/bin/python*

Как заставить bash найти файл /usr/bin/python3.8?

4 ответа 4

Правильный способ: sudo apt install python-is-python3 — он эффективно создает символическую ссылку, но также не отстает от будущих обновлений; поэтому, если ваш дистрибутив Ubuntu перейдет, скажем, на Python 3.9, ручная символическая ссылка больше не будет работать, но пакет гарантирует, что она по-прежнему действительна.

Я сделал sudo apt install python-is-python3 , но ничего не изменилось. Каковы следующие шаги? Мужчина тоже не входил

@Abdull осмотрите ваше окружение. Как я уже писал, это не намного больше, чем установка символической ссылки, поэтому, возможно, ваш PATH перепутался или был изменен двоичный файл, на который указывает символическая ссылка, может быть множество других проблем. Если вы в замешательстве, я предлагаю вам открыть новый вопрос.

Во-первых, чтобы ответить на ваш вопрос, ваш подход должен работать, я думаю, что путь, который вы указали в своем псевдониме, требует / перед путем, поэтому команда должна быть псевдонимом python='/usr/bin/python3.8' , это действительно должно войти в ваш файл ~/.bashrc, если вы используете bash.

лучшим решением может быть просто запуск:

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

Я только что попробовал это (в моем случае я установил для 'python' значение '/usr/bin/python3' на ubuntu20.04, но получил следующую ошибку: 'update-alternatives: ошибка: нет альтернатив для python'. Любая идея что я делаю не так?

@dagmarPrime update-alternatives — это именно то, что вам нужно, так как ваши псевдонимы не будут вызываться в сценариях. python может и должен указывать на python 3 для большинства целей в наши дни, и update-alternatives — правильный способ сделать это.

После обновления с Xenial 16 до 20.04.3 (через 18) альтернативы кажутся немного шаткими.альтернативы говорят, что символическая ссылка указывает на python3.9, но это не так. update-alternatives --display ссылка python3 в настоящее время указывает на /usr/bin/python3.9 ссылка python3 - это /usr/bin/python3 Но. ls -l /usr/bin/python3 дает lrwxrwxrwx 1 root root 9 13 марта 2020 г. /usr/bin/python3 -> python3.8 . т.е. указывая на 3.8. update-alternatives --set python3 /usr/bin/python3.9 показывает варианты обновления: предупреждение: принудительная переустановка. потому что группа ссылок python3 не работает.

Вы должны иметь возможность сделать это в командной оболочке, набрав:

Чтобы сделать его постоянным, вам нужно открыть ~/.bashrc и добавить эту строку в конец. Должно быть так просто! Имейте в виду, что это работает только для каждого пользователя, что может быть, а может и не быть тем, что вам нужно.

Еще одна вещь, которую я заметил в вашей попытке, это то, что вы пропустили начальный /, поэтому он должен читаться как:

Читайте также: