Показать статистику
0 голосов
от (2.3тыс. баллов)

Как переключаться между Python2 и Python3 в Debian 9 Stretch?

13.9тыс. просмотров 2 ответов

2 Ответы

0 голосов
от (26.4тыс. баллов)

Debian Stretch поставляется с двумя 2.7 и 3.5 версиями Python. Если вы еще не установили какой-либо пакет python, вы можете выбрать оба варианта, просто установив соответствующий пакет:

Установка Питон 2: 

# apt install python

Установка Питон 3

# apt install python3

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

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

$ python --version
Python 2.7.13

Установить Python

Давайте предположим, что никакой интерпретатор python еще не установлен в нашей системе. Следовательно, мы можем начать с установки обеих версий Python:

# python --version

Вывод:

Следовательно вводим:

# apt install python python3

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

$ python --version
Python 2.7.13

Обновление списка альтернатив Python

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

# update-alternatives --list python

Чтобы установить альтернативы Python, сначала перечислите все доступные опции:

$ ls /usr/bin/python*
/usr/bin/python  /usr/bin/python2  /usr/bin/python2.7  /usr/bin/python3  /usr/bin/python3.5  /usr/bin/python3.5m  /usr/bin/python3m

Затем обновите список альтернатив Python для каждой версии, которую вы хотите использовать. В нашем случае это /usr/bin/python2.7 и /usr/bin/python3.5 версии:

# update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
и 
# update-alternatives --install /usr/bin/python python /usr/bin/python3.5 2


Получаем такой вывод

Обратите внимание, что целое число в конце каждой команды обозначает приоритет. Более высокое число означает более высокий приоритет, и поэтому /usr/bin/python3.5 версия была установлена в автоматическом режиме по умолчанию, если не выбран другой выбор. После выполнения обеих вышеперечисленных команд ваша текущая версия Python по умолчанию имеет /usr/bin/python3.5 более высокий приоритет ( 2):

# python --version 
Python 3.5.3

Переключение между версиями Python

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

# update-alternatives --config python 

и выберите подходящую версию, используя целое число выбора, как показано выше.

# python --version 
Python 2.7.13

Версия Python для локального пользователя

Если вам нужно выборочно изменять версию Python только для каждого пользователя, вы можете попробовать отредактировать .bashrc файл пользователя. Например, чтобы перейти на версию Python, 3.5 выполните следующую команду

$ python --version
Python 2.7.13
$ echo 'alias python="/usr/bin/python3.5"' >> ~/.bashrc
$ . .bashrc 
$ python --version
Python 3.5.3

Теперь Вы знаете как переключаться с одной версии на другую.


 

0 голосов
от (4.5тыс. баллов)

В Debian, вы можете использовать `update-alternatives` для управления версиями Python и переключения между Python 2 и Python 3. Вот как это сделать:

1. Установите Python 2 и Python 3, если они еще не установлены: 

sudo apt-get update
sudo apt-get install python2 python3

2. Настройте `update-alternatives` для Python: 

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 2

Здесь мы устанавливаем две альтернативы для команды `python`: `/usr/bin/python2` с приоритетом 1 и `/usr/bin/python3` с приоритетом 2. Высший приоритет выбирается по умолчанию.

3. Теперь вы можете проверить текущую версию Python: 

python --version

4. Чтобы переключиться между Python 2 и Python 3, используйте следующую команду: 

sudo update-alternatives --config python

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

Обратите внимание, что некоторые приложения и скрипты могут зависеть от конкретной версии Python, и их работа может нарушиться при изменении версии Python по умолчанию. В таких случаях, рекомендуется использовать виртуальное окружение (`virtualenv` для Python 2 или `venv` для Python 3) для установки и работы с конкретной версией Python, не затрагивая системную версию.

...