У меня в Linux есть две версии Python:
$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?
/usr/bin/env python
на 2.6 вместо 2.3 означало, что половина командrpm
и всеurpmi
перестали работать)./usr/bin/python
была софт-ссылка, указывающая наpython2
. Я просто изменил его наpython3.6
Ответы:
Вы, вероятно, действительно не хотите менять свой 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
.Во-первых, вы можете настроить псевдоним оболочки:
Введите это в командной строке или поместите в свой,
~/.bashrc
если вы хотите, чтобы изменение было постоянным, и теперь, когда вы вводите,python
он запускает выбранную вами версию 2.7, но когда какая-то программа в вашей системе пытается запустить сценарий,/usr/bin/env python
она запускает стандартную версию 2.6.В качестве альтернативы, просто создайте виртуальную среду из вашего 2.7 (или отдельных venv для разных проектов) и выполняйте свою работу внутри venv.
источник
yum
команда не работает! Я попытался создать символьную ссылку обратно, но это не помогаетsudo ln -sf /usr/bin/python2.6 /usr/bin/python
?/usr/bin/python
раньше это не было символической ссылкой , это был сценарий-оболочка или исполняемый файл, а теперь вы его перезаписали и не можете вернуть. Еслиrpm
он все еще работает, вы можете вручную загрузить пакет Python и установить его безyum
.python2.6
так что он все еще там.Добавьте
/usr/local/bin
в своюPATH
переменную среды раньше в списке, чем/usr/bin
.Обычно это делается в rc-файле вашей оболочки, например, для bash вы должны поместить это в
.bashrc
:Это приведет к тому , оболочке смотреть первую для
python
дюйма/usr/local/bin
, прежде чем он идет с одним в/usr/bin
.(Конечно, это означает, что вам также нужно
/usr/local/bin/python
указатьpython2.7
- если это еще не сделано, вам нужно будет создать символическую ссылку.)источник
Введите команду
Здесь вы можете увидеть что-то вроде этого
ваш python2.7 по умолчанию связан с текстом "python"
Итак, удалите питон softlink
затем повторите указанную выше команду
вы можете видеть, что софтлинк удален
Затем создайте новую softlink для python3.6
ln -s /usr/bin/python3.6 питон
Затем попробуйте команду
python
в терминалеВведите
help
,copyright
,credits
илиlicense
для получения дополнительной информации.источник
Проверьте текущую версию python:
затем проверьте, что python является символической ссылкой на какой файл.
Выход Ex:
Проверьте другие доступные версии python:
Выход Ex:
Если вы хотите изменить текущую версию python на версию 3.6, отредактируйте файл ~ / .bashrc:
добавьте строку ниже в конец файла и сохраните:
Чтобы установить pip для python 3.6
В случае успеха проверьте текущую версию pip:
Выход Ex:
источник
Все ОС поставляются с версией python по умолчанию, и она находится в / usr / bin. Все скрипты, которые поставляются с ОС (например, yum), указывают на то, что эта версия python находится в / usr / bin. Когда вы хотите установить новую версию python, вы не хотите нарушать существующие скрипты, которые могут не работать с новой версией python.
Правильный способ сделать это - установить python в качестве альтернативной версии.
Теперь, делая это, существующие скрипты, такие как yum, по-прежнему работают с / usr / bin / python. и ваша версия Python по умолчанию будет той, которая установлена в / usr / local / bin. т.е. когда вы наберете python, вы получите 2.7.3
Это происходит потому, что. Переменная $ PATH имеет / usr / local / bin перед usr / bin.
Если python2.7 по-прежнему не вступает в силу в качестве версии python по умолчанию, вам необходимо сделать
источник
Полагаю, вы установили версию 2.7 вручную, а 2.6 идет из пакета?
Простой ответ: удалите пакет python.
Более сложный: не устанавливайте вручную в / usr / local. Соберите пакет с версией 2.7, а затем обновите его.
Обработка пакетов зависит от того, какой дистрибутив вы используете.
источник