Переключить версию python в Unix/Linux

Переключить версию python в Unix/Linux

Разработчики python не сделали поддержку версий и это не очень хорошо. Появляется ряд проблем, а именно с версиями ПО. Одни утилиты требуют версию  2.7.х, другие 3.4.х. И я хотел бы в своей статье, рассказать как можно использовать несколько версий или переключить версию python в Unix/Linux.

Переключить версию python в Unix/Linux

Сейчас по умолчанию, во многих Unix/Linux ОС используется питон 2.6. Чтобы проверить какая версия питона используется в системе, выполните:

$ python -V

Python 2.6

Выполним установку python:

Обновить Python до последней версии в Unix/Linux

Установка pip/setuptools/wheel в Unix/Linux

Так же, посмотрим:

$ ls -al /usr/local/bin/python*

Получаем:

lrwxrwxrwx. 1 root root 7 Apr 11 10:38 /usr/local/bin/python -> python2
lrwxrwxrwx. 1 root root 9 Apr 11 10:38 /usr/local/bin/python2 -> python2.7
-rwxr-xr-x. 1 root root 6294753 Apr 11 10:37 /usr/local/bin/python2.7
-rwxr-xr-x. 1 root root 1687 Apr 11 10:38 /usr/local/bin/python2.7-config
lrwxrwxrwx. 1 root root 16 Apr 11 10:38 /usr/local/bin/python2-config -> python2.7-config
lrwxrwxrwx. 1 root root 9 Apr 11 11:10 /usr/local/bin/python3 -> python3.6
-rwxr-xr-x. 2 root root 9961651 Apr 11 11:08 /usr/local/bin/python3.6
lrwxrwxrwx. 1 root root 17 Apr 11 11:10 /usr/local/bin/python3.6-config -> python3.6m-config
-rwxr-xr-x. 2 root root 9961651 Apr 11 11:08 /usr/local/bin/python3.6m
-rwxr-xr-x. 1 root root 3083 Apr 11 11:10 /usr/local/bin/python3.6m-config
lrwxrwxrwx. 1 root root 16 Apr 11 11:10 /usr/local/bin/python3-config -> python3.6-config
lrwxrwxrwx. 1 root root 14 Apr 11 10:38 /usr/local/bin/python-config -> python2-config

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

-===СПОСОБ 1 — использование алиаса===-

Один из самых простых способов — это использовать алиасы. Открываем файл:

# vim ~/.bashrc

И, прописываем сам алиас на нужную версию питона:

alias python='/usr/local/bin/python3.6'

Чтобы изменения вступили в силу, выполняем:

$ . ~/.bashrc

После этого, можно проверять версию:

$ python --version
Python 3.6.1

Видно что все отлично работает.

-===СПОСОБ 2 — использование alternatives===-

Чтобы изменить версию python глобально, я воспользуюсь alternatives утилитой:

# alternatives --list | grep -i python

Если вывода не будет, — это будет означать, что python alternative еще не сконфигурирована. Чтобы это сделать, выполните ( взято в качестве примера):

# alternatives --install /usr/bin/python python /usr/local/bin/python3.6 2
# alternatives --install /usr/bin/python python /usr/local/bin/python2.7 1

Вышеупомянутые команды будут указывать команде alternatives для создания соответствующих символических ссылок, которые будут использоваться при выполнении команды python. Я назначил python3.6 более высокий приоритет ( цифра 2), — это означает, что если не выбрана альтернатива для python, то по умолчанию будет использоваться python3.6. После выполнения вышеуказанных команд ваша версия python должна измениться на python3.6 из-за ее более высокого приоритета.

Проверяем:

# python -V

Python 3.6.1

Для переключения между вышеперечисленными версиями python теперь достаточно просто:

# alternatives --config python

Чтобы удалить питон с alternatives, используем:

# update-alternatives --remove python /usr/local/bin/python3.6

Как-то так! На этому у меня все, статья «Переключить версию python в Unix/Linux» завершена.

2 thoughts on “Переключить версию python в Unix/Linux

  1. alias python=’/usr/local/bin/python3.6′
    ls -al /usr/local/bin/python*
    Вы это серьёзно автор ???🤔🤔
    А ничего что общепринятый в большинстве дистрибутивов путь
    : /usr/bin/ ?? 😏🤔

    PS И да это было бы справедливо для python установленного из сырцов (исходников ) но не в том случае когда для установки вы используете менеджер пакетов .👋

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.