Переключить версию 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» завершена.
alias python=’/usr/local/bin/python3.6′
ls -al /usr/local/bin/python*
Вы это серьёзно автор ???🤔🤔
А ничего что общепринятый в большинстве дистрибутивов путь
: /usr/bin/ ?? 😏🤔
PS И да это было бы справедливо для python установленного из сырцов (исходников ) но не в том случае когда для установки вы используете менеджер пакетов .👋
/usr/src/Python-3.12.1$ ~/.bashrc
bash: /home/vadim/.bashrc: Отказано в доступе