Как полностью заменить 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.
Ответы
Ответ 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