Как мне изменить мой PYTHONPATH, чтобы сделать 3,2 моим Python по умолчанию вместо 2.7.2?

16

У меня есть Python3.2 находится в /usr/lib/python3.2. Я не уверен, означает ли это, что он установлен, но я предполагаю, что это пока.

Несколько фактов о моей системе:

$ which python
/usr/local/bin/python

Когда я печатаю pythonв терминале, я получаю следующее

$ python
Python 2.7.2 (default, Dec 19 2011, 11:12:13) 
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.

Затем, чтобы найти путь, который я делаю

>>> sys.info
>>> sys.path
['', '/usr/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg', '/usr/local/lib/python2.7/site-packages/pip-1.0.2-py2.7.egg', '/usr/local/lib/python2.7/site-packages/PIL-1.1.7-py2.7-linux-x86_64.egg', '/usr/local/lib/python27.zip', '/usr/local/lib/python2.7', '/usr/local/lib/python2.7/plat-linux2', '/usr/local/lib/python2.7/lib-tk', '/usr/local/lib/python2.7/lib-old', '/usr/local/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/site-packages']

Итак, зная все это, как мне изменить системный python по умолчанию с 2.7.2 на 3.2?

Максимум
источник

Ответы:

28

Не стоит менять питон по умолчанию. Многие системные программы зависят от python2, а не от python3. если вы хотите использовать python3, просто введите команду python3 .

liuerfire
источник
4
Для библиотек поддержки и инструментов (таких как pyenv, fabric) они ожидают /usr/bin/env pythonтого, что вы хотите. Таким образом, ввод вручную python3не является решением.
Эрик Милл
9

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

Но в любом случае, изменение версии по умолчанию в вашей системе опасно, как заметили другие комментаторы. Вы рискуете сломать существующий пакет, созданный для Python2, и использовать / usr / bin / env python для поиска их интерпретаторов.

На самом деле, это неправильный способ выразить это. Изменение версии Python по умолчанию разрушит всю систему Ubuntu и приведет к тому, что многие программы просто не будут работать. Это также совершенно не нужно.

Но так как вы спросили, вы просто делаете это:

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

Счастливого падения!

Кен Киндер
источник
7

Я добавил это в моем .bashrc, пока он работает нормально:

alias python='python3'
Винод Гараг
источник
1
Это будет работать до тех пор, пока вы не вызовете python из скрипта, который не имеет доступа к вашим псевдонимам.
Здравствуйте, до свидания,
4

В соответствии с этим вы можете настроить переменную окружения или просто добавить новую папку пути импорта. Но я рекомендую использовать virtualenvs для проектов Python, если вы хотите иметь некоторую гибкость.

Турал Гурбанов
источник
2

Вот самый безопасный способ сделать это - используяupdate-alternatives

Вадим Рутковский
источник
1

если это фактически установленный тип в python3.2 вместо просто python, и он загрузит его вместо значения по умолчанию. Только что установил python 3.2, чтобы проверить это =)

если он на самом деле не установлен, то откройте терминал и наберите sudo apt-get install python3.2, чтобы получить его

BretD
источник