Подтвердить что ты не робот

Как полностью заменить python 3 на python 2 в arch linux

Я хочу полностью заменить python 3 на python 2 в arch linux. Я уже прочитал https://wiki.archlinux.org/index.php/Python, но он предоставляет только временное исправление. Мне нужно, чтобы при вызове

#!/usr/bin/python

Моя программа использует python 2 вместо python 3.

4b9b3361

Ответ 1

В Arch, /usr/bin/python на самом деле символическая ссылка на python3. Предполагая, что вы уже установили python2, как root, измените символическую ссылку на python2:

cd /usr/bin
ls -l python
    lrwxrwxrwx 1 root root 7  5 sept. 07:04 python -> python3
ln -sf python2 python
ls -l python
    lrwxrwxrwx 1 root root 7 Dec 11 19:28 python -> python2

Если вы используете пакет python2-virtualenv, тогда сделайте то же самое для /usr/bin/virtualenv:

cd /usr/bin
ln -sf virtualenv2 virtualenv

Ответ 2

Изменение символической ссылки по умолчанию - плохая идея, и она воссоздается при обновлениях python3. Вместо этого создайте локальное переопределение python:

sudoedit /usr/local/bin/python

Вставьте это внутри и сохраните файл:

#!/bin/bash
exec python2 "[email protected]"

Не забудьте сделать его выполнимым:

sudo chmod +x /usr/local/bin/python