Как выровнять версию python в Debian

#python #python-3.x

#python #python-3.x

Вопрос:

Debian, который я использую, имеет по умолчанию python3 -> 3.7.3. Затем я успешно установил python3 версии 3.7.4, которая является выделенной версией, которую я предпочитаю.

Но теперь версия python становится беспорядочной. Вот подробная информация из команд терминала

  1. python3 —version —> Python 3.7.4
  2. /usr/bin/python3 — version —> Python 3.7.3
  3. /usr/bin/python3.7 — version —> Python 3.7.3

Итак, как я могу выровнять его с «Python 3.7.4»?

Комментарии:

1. вы должны изменить bashrc файл. echo 'alias python="/usr/bin/python3.7.4"' >> ~/.bashrc

2. Как вы «устанавливали» Python 3.7.4? В /usr/local/bin? Для домашней страницы / корзины вашего пользователя?

Ответ №1:

То, что сказал AnsFourtyTwo, верно, но если вам нужно управлять несколькими версиями Python, попробуйте использовать pyenv.

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

Это похоже на nvm (Node.js менеджер версий).

Ответ №2:

Если вы посмотрите /usr/bin , вы увидите, что у вас будет много разных исполняемых файлов для разных версий python, например python2.7 , python3.7.3 , python3.7.4 , и т.д.

Чтобы обеспечить пользователям безопасность известной среды, вы также найдете символические ссылки, например

 lrwxrwxrwx  1 root    root           9 Okt 18  2016 python -> python2.7*
lrwxrwxrwx  1 root    root           9 Okt 18  2016 python2 -> python2.7*
-rwxr-xr-x  1 root    root     3546104 Nov 19 10:35 python2.7*
...
lrwxrwxrwx  1 root    root           9 Okt 18  2016 python3 -> python3.5*
-rwxr-xr-x  2 root    root     4460336 Nov 17 20:23 python3.5*
  

Итак, в примере команды python и python2 будут выполняться python2.7 . Вызов python3 будет фактически выполнен python3.5 .

Обычно я изменяю эти символические ссылки в соответствии со своими потребностями (вам могут понадобиться права root). Например, я обычно хочу, чтобы команда python запускала текущую python3 версию:

 cd /usr/bin
ln -sf python3 python
  

Почему python3 --version результаты вызова в версии 3.7.4 должны быть дополнительно изучены:

  1. Что which python3 показывает?
  2. Вы определили какие-либо псевдонимы (например alias python="/usr/bin/python3.7.4" , в вашем .bashrc файле)