Изменение версии Python без нарушения работы программного центра

Я возился с установкой Python на Ubuntu 12.04 (у меня были проблемы с установкой библиотеки python), и однажды моя команда python не работала. Оказалось, что символическая ссылка отсутствует (я, должно быть, удалила ее случайно), поэтому я сделал новую , указывающую на Python 3.2 (первоначально указавшую на 2.7):

sudo rm /usr/bin/python
sudo ln -s /usr/bin/python3.2 /usr/bin/python

Проблема: центр программного обеспечения и менеджер обновлений не работали:

~$ software-center
  File "/usr/bin/software-center", line 152
    print time.time()
             ^
SyntaxError: invalid syntax

Я догадался, что это потому, что я изменил версию Python по умолчанию (2.7-> 3.2), поэтому я изменил ее обратно на 2.7. Теперь они работают нормально, но я все же хотел бы изменить версию Python по умолчанию (то есть ту, что вызывается с помощью python в терминале).

Возможно ли это сделать в Ubuntu 12.04?
Спасибо!

3
задан 23 May 2017 в 15:39

2 ответа

Вы не должны изменять символьную ссылку для python для указания на Python 3, поскольку Вы уже видели его последствия. И я рекомендовал бы Вам выработать привычку вызова программ Python 3 с python3, поскольку это включит наименьшее количество суммы проблемы позже.

, Но если Вы настаиваете на том, чтобы называть Python 3 на своем Терминале с помощью python, можно создать псевдоним для него. Помните, псевдоним отличается, чем символьная ссылка. Редактирование ~/.bash_aliases файл (создают его, если это не существует) для добавления следующего в нем:

alias python='python3.2'

Тогда перезапускают Ваш терминал, и Вы были бы в состоянии выполнить Python 3 путем вызова python. Это ничего не повредило бы, как изменение символьной ссылки делает.

можно даже добавить псевдонимы как alias py3='python3.2' и затем звонить py3 для выполнения Python 3. Это еще короче и менее сбивает с толку.

3
ответ дан 23 May 2017 в 15:39

Не делайте этого:

  • программы Python, которые идут с Ubuntu, зависят от /usr/bin/python являющийся версией Python2 по умолчанию Вашего дистрибутива. Они, вероятно, повредятся, если это будет что-то еще.
  • PEP-0394 рекомендует, чтобы python команда назвала Python2. Большинство программ Python повредится, если это назовет Python3 вместо этого.

Вместо этого использование /usr/bin/python3, если Вы хотите использовать Python3

3
ответ дан 23 May 2017 в 15:39

Другие вопросы по тегам:

Похожие вопросы: