Я хочу переключаться между версиями 2 и 3 Python. Оба установлены

8

Если я дважды щелкаю по файлу .py, он открывает «IDLE» (есть ли другой способ открыть «IDLE»?), Но версия Python по умолчанию равна 2, когда я выбираю «запустить». Я хочу ПОСТОЯННО изменить версию по умолчанию на 3, чтобы мне не приходилось переключать версии при каждом включении Raspberry Pi.

Я искал это без успеха. Большинство ответов предшествуют включению Python 3 и объясняют, как установить 3, но НЕ как переключать настройки по умолчанию, отсюда и этот вопрос.

Джон Фоггитт
источник
Вы пытались удалить Python 2?
Бекс
7
@Bex, я бы не стал удалять py2, если вы не уверены, что он не нужен в другом месте. Есть еще много скриптов, которые работают на 2.7.
Ганима

Ответы:

3

IDLEОбычно устанавливается вместе с python, так что вы должны иметь idle3где-то. Вот что вы должны сделать:

  1. Попробуйте запустить idle3, idle3.3, и idle3.4т.д. в терминале , чтобы убедиться , что у вас есть. Давайте предположим, что у вас естьidle3

  2. Измените сопоставление .pyфайлов, чтобы они открывались idle3при двойном щелчке. Это зависит от вашего файлового менеджера, обычно щелчок правой кнопкой мыши -> «Открыть с помощью ...» делает свое дело.

Опять же, играть с символическими ссылками не очень хорошая идея, потому что сценарии, начинающиеся с, #!/usr/bin/pythonожидают выполнения с python2.

Дмитрий Григорьев
источник
-2

правильный способ сделать это состоит в использовании Debain в ДОПОЛНЕНО альтернативы

UPD: люди слишком ленивы , чтобы jyst R Свинец T он F ине M Anual:

update-alternatives --remove-all python
update-alternatives --install /usr/bin/python python /usr/python2/bin/python2 10
update-alternatives --install /usr/bin/python python /usr/python3/bin/python3 20

Так и должно быть. После этого переключить вещи:

update-alternatives --set python "/usr/python2/bin/python2"

выбрать тот, который вам нужен. Это не сломает PEP-394 , потому что python2и python3бинарные файлы будут там, где они должны быть в мультиязычной установке: в префиксах установок ( usr/python2и /usr/python3соответственно)

Алексей Веснин
источник
3
В Python нет группы ссылок update-alternatives.
n.st
1
Хотя это может теоретически ответить на вопрос, было бы предпочтительным включить сюда основные части ответа и предоставить ссылку для справки.
Стив Робиллард
1
update-alternativesЭто просто хороший способ отслеживать символические ссылки в вашей системе, поэтому в итоге ваше решение столкнется с той же проблемой, что и @Milliways ': вы замените /usr/bin/python, что является нарушением PEP-394.
Дмитрий Григорьев
1
@ n.st Так что вам нужно его создать =) В этом и заключается идея: нет путаницы в пакете, стандартный режим переключения
Алексей Веснин
1
В PEP-394, в частности, сказано, что это /usr/bin/pythonдолжно указывать на python2, потому что многие устаревшие скрипты, начинающиеся с, #!/usr/bin/pythonкорректно работают только с python2.
Дмитрий Григорьев