Как установить python 3 в качестве интерпретатора по умолчанию в Ubuntu 14.04

Я работаю с Ubuntu 14.04 LTS на EC2. Я хочу изменить интерпретатор python по умолчанию с python 2.7 на 3.4.0, который установлен по умолчанию.

Когда я это сделаю:

/home/ubuntu$ which python/usr/bin/python

заглядывая в /usr/bin/ Я вижу:

enter image description here

Так что очевидно, что он там есть. Как мне установить это значение по умолчанию?

Было бы несколько способов сделать это. Во-первых, измените символьные ссылки так, чтобы python в /usr/bin/ на самом деле будет указывать на то же место, что и /usr/bin/python3 сим-линк. Однако это плохая идея (как я объясню ниже).

Вторым вариантом было бы создать пользовательский псевдоним команды - это, безусловно, лучший вариант из двух.


Изменение символьных ссылок - это плохо

Python используется в большей части Ubuntu для системных сценариев и программного обеспечения, а программное обеспечение зависит от наличия Python (и команд для запуска Python) в определенном месте.
Видеть здесь (Ubuntu Wiki - довольно устаревший) и здесь (Debian Wiki) для получения дополнительной информации о том, для чего Ubuntu / Debian используют Python.

Теперь, в то время как Python 3 (3.4.0 в вашем случае) является самая новая и рекомендуемая версия Python, все еще существует много кода, который не был перенесен на Python 3.

По умолчанию, как вы уже видели, запуск python запускает интерпретатор Python 2.7 - и это то, чего ожидает программное обеспечение на вашем компьютере.

Итак, если вы измените команду на запуск Python 3, вы вызовете всевозможный хаос и поломку кода, потому что вы будете пытаться запустить код Python 2.7 (который написан на синтаксисе Python 2.7 и использует библиотеки Python 2.7), используя интерпретатор Python 3.4 (который ожидает синтаксис Python 3.4 и Библиотеки Python 3.4.)


Более безопасный метод создания псевдонимов

Однако то, что вы мочь сделать, это создать псевдоним для вашего личного использования. Это можно легко сделать, добавив следующую строку:

alias python=python3

или

alias python=/usr/bin/python3

~/.bash_aliases файл, который вы можете редактировать с помощью sudo nano ~/.bash_aliases. Затем закройте и снова откройте терминал, и вы сможете использовать python команда для вашего личного использования, не затрагивая остальную часть системы.

Однако это, опять же, не рекомендуется, потому что, хотя вы не нарушите ни один общесистемный код, который зависит от правильного размещения интерпретаторов Python, я слышал, что это может вызвать другие проблемы (которые я не знаю / помню).)


Правильный метод, который вообще не требует изменения интерпретатора Python

Если вы пишете синтаксически корректный Python, вы должны включить то, что известно как Дело. (См. также здесь, и здесь.)

Если включить его правильно, это позволит вам запустить скрипт Python просто с помощью ./SCRIPT-NAME.py после выполнения скрипта с помощью sudo chmod +x ./SCRIPT-NAME.py. Вы также могли бы полностью отказаться от наличия .py тип файла и просто введите код в пустой файл и сохраните его как SCRIPT-NAME а потом беги sudo chmod +x ./SCRIPT-NAME и запустите его через ./SCRIPT-NAME.

Конечно, это делает потребуется немного больше работы, но это позволит убедиться, что ваш код выполняется с использованием правильного интерпретатора.

И, действительно. Насколько сложно печатать python3 чтобы правильно запустить код? Я не пытаюсь быть злым, и я отчасти понимаю, почему ты хочешь это сделать, но не так уж сложно просто убежать python3 вместо python.

Почему ты хочешь это сделать? Возможно, есть лучший способ выполнить то, что вы пытаетесь сделать. Изменение интерпретатора Python по умолчанию, как правило, не является хорошей идеей…