Две версии python на linux. как сделать 2.7 По умолчанию
у меня есть две версии python на моем linuxbox:
$python
Python 2.6.6 (r266:84292, Jul 10 2013, 22:48:45)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
$ /usr/local/bin/python2.7
Python 2.7.3 (default, Oct 8 2013, 15:53:09)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
$ which python
/usr/bin/python
$ ls -al /usr/bin/python
-rwxr-xr-x. 2 root root 4864 Jul 10 22:49 /usr/bin/python
Как я могу сделать 2.7 версией по умолчанию, поэтому, когда я набираю python
это ставит меня в 2.7?
3 ответа:
вы, вероятно, на самом деле не хотите менять свой Python по умолчанию.
ваш дистрибутив установил стандартную систему Python в
/usr/bin
, и могут иметь сценарии, которые зависят от этого присутствия, и выбраны#! /usr/bin/env python
. Вы можете обычно уйти с запуском скриптов Python 2.6 в 2.7,но вы хотите рискнуть?кроме того, баловаться с
/usr/bin
может нарушить способность вашего менеджера пакетов управлять пакетами. И изменение порядка каталоги в вашемPATH
повлияет на многое другое, кроме Python. (На самом деле, это более распространено, чтобы иметь/usr/local/bin
перед/usr/bin
, и это может быть то, что вы на самом деле хотите,-но если у вас наоборот, по-видимому, есть хорошая причина для этого.)а не нужно чтобы изменить Python по умолчанию, чтобы заставить систему работать 2.7 при вводе
python
.
во-первых, вы можете создать оболочку псевдоним:
alias python=/usr/local/bin/python2.7
введите это в командной строке или поместите его в свой
~/.bashrc
если вы хотите, чтобы изменения были постоянными, и теперь, когда вы типpython
он запускает выбранный 2.7, но когда какая-то программа в вашей системе пытается запустить скрипт с/usr/bin/env python
он работает по стандарту 2.6.
в качестве альтернативы, просто создайте виртуальная среда из вашего 2.7 (или отдельной venvs для разных проектов), и делать свою работу внутри venv.
добавить
/usr/local/bin
наPATH
переменная окружения, ранее в списке, чем/usr/bin
.как правило, это делается в rc-файле вашей оболочки, например, для bash, вы бы поместили это в
.bashrc
:export PATH="/usr/local/bin:$PATH"
это заставит вашу оболочку сначала искать
python
на/usr/local/bin
, прежде чем он пойдет с одним в/usr/bin
.(конечно, это означает, что вы также должны иметь
/usr/local/bin/python
выберите пунктpython2.7
- если это еще не так, вам понадобится символическая ссылка оно.)
Я предполагаю, что вы установили версию 2.7 вручную, в то время как 2.6 поставляется из пакета?
простой ответ: удалите пакет python.
более сложный: не устанавливайте вручную в /usr / local. Создайте пакет с версией 2.7, а затем обновите его.
обработка пакета зависит от того, какой дистрибутив вы используете.