Как поменять интерпретатор линукс
Я использую Ubuntu 16.04 LTS. Я python3 установил. Установлены две версии, python 3.4.3 и python 3.6 . Всякий раз, когда я использую python3 команду, она принимает python 3.4.3 по умолчанию. Я хочу использовать python 3.6 с python3 .
python3 --version шоу version 3.4.3
Я устанавливаю, ansible который поддерживает version > 3.5 . Поэтому, когда я набираю ansible в терминале, он выдает ошибку из-за python 3.4
Что ты sudo update-alternatives --config python3 говоришь? update-альтернативы: ошибка: нет альтернативы для python3 Смотрите мой комментарий в ответе ниже о том, как использовать ansible с определенной версией python3. Вы также можете рассмотреть возможность удаления Python 3.4.Покажет вам ошибку:
Вам нужно обновить свою версию update-alternatives , тогда вы сможете установить версию Python по умолчанию.
Установите python3.6 по умолчанию.
Или используйте следующую команду, чтобы установить python3.6 по умолчанию:
Этот ответ, вероятно, сломается apt . После выбора другой версии Python попробуйте запустить sudo apt update . Если он дает ошибку , как ModuleNotFoundError: No module named 'apt_pkg' вы хотите , чтобы пойти /usr/lib/python3/dist-packages и создать символическую ссылку: ln -s apt_pkg.cpython-<34m,36m>-x86_64-linux-gnu.so .34m,36m> Это дает мне ошибку: $ sudo update-alternatives --set python /usr/bin/python3.6 update-alternatives: error: no alternatives for python какие-либо предложения? @ GAD3R Спасибо. Мне удалось создать символическую ссылку вручную, чтобы указать на Python 3.6. Кроме того, у меня не установлен 3.7.Вы можете добиться этого, применяя следующие простые шаги -
- Проверьте версию Python на терминале - python --version
- Получите права пользователя root. По типу терминала - sudo su
- Запишите пароль пользователя root
- Выполните эту команду, чтобы перейти на Python 3.6 -
update-alternatives --install /usr/bin/python python /usr/bin/python3 1 - Проверьте версию Python - python --version
- Готово.
Создайте символическую ссылку для / usr / bin / python3. В моем LinuxMint:
Использование этих команд может помочь вам:
- проверьте версию python: ls /usr/bin/python*
- псевдоним: alias python='/usr/bin/pythonxx'
- повторного входа в систему: .
Простой ответ - добавить псевдоним для python3.6.
Просто добавьте эту строку в файл
/ .bashrc:, alias python3="python3.6" затем закройте свой терминал и откройте новый. Теперь, когда вы печатаете, python3 xxx он переводится в python3.6 xxx .
Это решение решает вашу проблему без необходимости слишком сильно настраивать вашу систему.
РЕДАКТИРОВАТЬ :
Как отметил Микаэль Кьер , это неверная конфигурация ANSIBLE в вашей системе.
Установите параметр ansible_python_interpreter конфигурации в / usr / bin / python3. Параметр конфигурации ansible_python_interpreter обычно устанавливается для каждого хоста в качестве переменной инвентаризации, связанной с хостом или группой хостов:
Как видно здесь о файле конфигурации:
Изменения могут быть внесены и использованы в файле конфигурации, который будет обрабатываться в следующем порядке:
Почему Shell важна
Оболочка сидит между вами и операционной системой. Он обеспечивает среду внутри окна терминала, которая позволяет вводить команды и запускать программы. Оболочка проверяет ваш ввод и выясняет, что вы хотите. Если он может выполнять ваши ставки самостоятельно, он делает это. Если ему нужна помощь извне, он ищет путь и находит программы, которые могут делать все, что вам нужно.
В Linux доступно много различных оболочек. Все они позволяют выполнять одни и те же основные задачи: исследовать файловую систему, работать с файлами, запускать программы и запускать сценарии. Однако каждый из них выполняет эти задачи по-своему, и у них есть свои особенности и особенности.
Оболочки, как правило, разрабатываются людьми, которые хотят, чтобы вещи вели себя определенным образом. Если ваше мышление совпадает с мышлением этого дизайнера, эта оболочка вполне подойдет вам. Плюс, пробовать новую оболочку в Linux легко.
В большинстве дистрибутивов Linux, включая Ubuntu, оболочка по умолчанию bash , Это делает большую работу и очень способный. Тем не менее, другая оболочка может сэкономить время, что окажет большое влияние на ваш рабочий процесс. Вы никогда не узнаете, не посмотрите ли вы!
СВЯЗАННЫЕ С: Что такое ZSH, и почему вы должны использовать его вместо Bash?
Ведро снарядов
Ранее мы рассмотрели различные оболочки Linux, но вот краткое введение к наиболее распространенным:
СВЯЗАННЫЕ С: В чем разница между Bash, Zsh и другими оболочками Linux?
Список установленных оболочек
Чтобы увидеть, какие оболочки установлены на вашем компьютере, используйте эту команду. Он просто перечисляет содержимое /etc/shells файл:
Мы упоминали bash , dash , а также rbash , но что sh ?
sh это Томпсон оболочка, написанная еще в 1971 году Кен Томпсон из Bell Labs известность. Он больше не поддерживается и давно заменен современными оболочками. Он включен исключительно для обеспечения совместимости со старыми сценариями, в которых в первой строке по-прежнему указывается следующее:
Это инструктирует систему использовать sh оболочка для выполнения скрипта. У вас действительно есть эта древняя оболочка на вашем компьютере, и она используется для запуска ваших скриптов? which Команда скажет нам, какая программа действительно запускается при вводе команды.
Давайте посмотрим, что работает, когда вы печатаете sh :
Это кажется, чтобы найти двоичный файл. если мы копнем немного глубже, мы увидим, что это символическая ссылка, которая на самом деле указывает на dash облегченная оболочка, используемая для выполнения скриптов:
Это аккуратный и легкий способ обеспечения безопасности для сценариев, которые ожидают найти sh на современных системах.
Установка другой оболочки
Давайте установим fish оболочки и установить его по умолчанию для dave , В Ubuntu мы вводим следующую команду:
На Манджаро, используйте pacman :
На Fedora введите следующее:
После завершения установки вы можете проверить установленные оболочки еще раз:
Переменная окружения $ SHELL
$SHELL Переменная окружения содержит имя вашей текущей оболочки. Мы можем проверить, какой из них установлен с echo :
Давайте начнем fish ракушка:
Теперь давайте еще раз проверим, что $SHELL переменная окружения говорит:
Первый раз мы используем echo $SHELL мы в bash ракушка. Переменная окружения содержит путь к bash исполняемый файл, /bin/bash ,
Когда вы запускаете новую оболочку (или любую другую программу), она наследует среду родительской оболочки. Так что fish оболочка наследует глобальные и экспортированные переменные среды из bash ракушка. Потому что значение в $SHELL переменная окружения не была изменена, она имеет то же значение в fish оболочка, что он сделал в bash ракушка.
Были запущены fish как и любая другая программа. Мы также можем использовать exit выйти из fish ракушка. Он закрывается, как и любая другая программа, и мы возвращаемся к bash ракушка.
Это здорово для того, чтобы опробовать новые оболочки, посмотреть, что они могут сделать, и ладят ли вы с ними. Вы можете исследовать, прежде чем совершить прыжок, и принять его в качестве оболочки для перехода.
Команда chsh
chsh Команда позволяет изменить оболочку по умолчанию. Хитрость заключается в том, что вы можете изменить как логин по умолчанию, так и интерактивные оболочки по умолчанию. Вы можете изменить один или другой, или оба.
Всякий раз, когда вы входите в систему для получения командной строки, вы используете оболочку, настроенную для вашей оболочки входа. Когда вы уже вошли в систему и открыли окно терминала, вы используете оболочку, настроенную для вашей интерактивной оболочки. Это могут быть как одинаковые, так и разные оболочки.
Чтобы установить оболочку входа в систему, используйте chsh без параметров:
Вам будет предложено ввести пароль. Затем вы должны ввести путь к новой оболочке и нажать Enter.
Если мы сделаем удаленное соединение с этим тестовым компьютером с другого, мы окажемся в fish Shell, как только мы вошли в систему.
Для изменения вашей интерактивной оболочки используйте chsh с -s (оболочка) вариант. Передайте путь к новой оболочке в командной строке:
Вам будет предложено ввести пароль и вы вернетесь в командную строку вашей текущей оболочки. Чтобы изменения вступили в силу, вам необходимо выйти из системы и снова войти в нее. Когда вы это сделаете, вы увидите приветствие и fish командная строка оболочки.
$SHELL Переменная окружения теперь содержит путь к вашей новой оболочке по умолчанию:
Изменение оболочки другого пользователя
Если у вас есть права root и вы можете использовать sudo Вы можете изменить оболочки других учетных записей пользователей. Команда такая же, как и раньше, с добавлением имени пользователя этого человека в командной строке:
когда mary при следующем входе в систему она увидит новую оболочку, когда откроет окно терминала.
У каждого есть любимый
Если вам удобен выбор оболочки и она работает для вас, это здорово! Просто помните, что он должен быть в состоянии запускать обычные сценарии, такие как процедуры установки. Для оболочек, упомянутых здесь, это не должно быть проблемой.
Конечно, вы также можете загрузить и установить новую оболочку и взять ее на тест-драйв, не внося никаких изменений в конфигурацию вашего компьютера. Когда вы будете готовы связать себя узами брака, chsh проведет церемонию для вас.
Добрый день всем, кто оказался на данном сайте. Предположим, что у вас установлено несколько оболочек терминала, например ksh, zsh или стандартный bash. И вы хотите сменить ее выбрав один из вариантов. Рассмотрим пример на zsh, об установке которой писалось в этой статье. В этом примере мы вернем стандартную оболочку, то есть, обычный bash, который шел изначально. И так, давайте сначала посмотрим, какие варианты у нас есть. То есть, какие оболочки терминала у нас присутствуют в системе.
Какие оболочки имеются в системе
Просмотр оболочек
Для возврата к оболочки по умолчанию, введите команду:
Оболочка по умолчанию
Теперь давайте узнаем, а какая оболочка у нас сейчас используется по умолчанию. Для этого введите команду:
Как можно увидеть, у нас по умолчанию используется оболочка zsh. Теперь, когда мы выяснили какая оболочка у нас используется и какие доступны, давайте сменим на ту, которая нам понравилась.
Установка оболочки по умолчанию
После чего, нужно выйти и зайти в систему. Ну и конечно проверить сам результат:
Как видите, оболочка изменилась. Таким образом, сегодня мы узнали как можно менять оболочки терминала, которые установлены у нас в системе:
А на этом сегодня все. Надеюсь данная статья будет вам полезна.
С уважением Cyber-X
В большинстве операционных систем Linux, bash является принятым по умолчанию интерпретатором командной строки. Для определения текущего интерпретатора введите следующую команду:
$ echo $SHELL
/bin/bash
В этом примере используется интерпретатор командной строки bash. Существует множество других командных интерпретаторов. Для активизации другого интерпретатора можно ввести его имя в командной строке (ksh, tcsh, csh, sh, bash и т.д.).
В большинстве полнофункциональных операционных систем Linux предоставляются на заметку все описанные здесь командные интерпретаторы. Но в небольших операционных системах могут быть предоставлены один или два интерпретатора.
Самым простым способом проверки доступности интересующего командного интерпретатора является ввод его имени в командной строке. Если интерпретатор запустился, он доступен.
Существует несколько причин для выбора альтернативных командных интерпретаторов.
- Привычка работать в системах UNIX System V (во многих из них по умолчанию применяются интерпретатор ksh) или в системах компании Sun Microsystems и других системах на базе Berkeley UNIX (в них часто используется csh). В таком случае применение этих интерпретаторов командной строки окажется более удобным.
- Необходимость запуска сценариев, которые создавались для определенного командного интерпретатора.
- Возможности альтернативного командного интерпретатора могут оказаться более предпочтительными. Например, один из членов группы пользователей Linux предпочитает применять ksh, так как его не устраивает способ создания псевдонимов в bash.
Хотя большинство пользователей предпочитает работать в одном командном интерпретаторе, полученные навыки помогают научиться работать и в других интерпретаторах командной строки , изредка заглядывая в справочное руководство (например, с помощью команды manbash). Большинство используют bash, так как нет причин переходить на другой интерпретатор.
Использование Bash и ch
Название bash является аббревиатурой от Bourne Again SHell. Эта аббревиатура указывает на то, что bash наследует интерпретатор Bourneshell (команда sh), созданный Стивом Борном (Steve Bourne) из AT&TBell Labs. Брайан Фокс (Brian Fox) из Free Software Foundation создал bash в составе проекта GNU. В дальнейшем разработка перешла в руки Чета Рами (Chet Ramey) в Case Western Reserve University.
Интерпретатор bash содержит возможности, которые разрабатывались для интерпретаторов sh и ksh во времена ранних версий UNIX, а также ряд возможностей интерпретатора csh.
Можно рассчитывать, что в большинстве систем Linux, кроме специализированных (например, встраиваемых или загружающихся с внешнего диска), интерпретатор bash применяется по умолчанию. В специализированных системах может потребоваться командный интерпретатор меньшего объема, что подразумевает и ограничение возможностей.
Большинство примеров в этой статье рассчитано на использование bash.
В результате интерпретатор bash с большей вероятностью сможет успешно читать файлы конфигурации и запускать сценарии, написанные специально для других командных интерпретаторов.
Все предоставляемые операционные системы Linux по умолчанию используют интерпретатор bash, кроме операционных систем, загружаемых со сменных носителей, в которых по умолчанию применяется интерпретатор ash.
Использование tcsh (и более раннего интерпретатора csh)
Командный интерпретатор tcsh является реализацией интерпретатора Сshell (csh) с открытым исходным кодом. Интерпретатор csh был создан Биллом Джоем (Bill Joy) и используется по умолчанию практически во всех системах Berkeley UNIX (такие системы распространялись компанией Sun Microsystems).
Многие возможности csh, например редактирование командной строки и методы управления историей команд, были реализованы в интерпретаторе tcsh и в других командных интерпретаторах. Так же как команда sh запускает интерпретатор bash в режиме совместимости с интерпретатором sh, команда csh запускает интерпретатор tcsh в режиме совместимости с интерпретатором csh.
Использование интерпретатора ash
Интерпретатор ash является облегченной версией интерпретатора Berkeley UNIX sh. Он не содержит многих базовых функций и не предоставляет таких возможностей, как история команд.
Интерпретатор ash хорошо подходит для применения во встраиваемых системах с ограниченными системными ресурсами. В операционной системе FedoraCore 4 интерпретатор ash на порядок меньше интерпретатора bash.
Использование zsh
Интерпретатор zsh является еще одним клоном интерпретатора sh. Он соответствует требованиям стандарта POSIX (как и bash), но обладает другими возможностями, включая проверку орфографии и иной подход к редактированию командной строки. Интерпретатор zsh использовался по умолчанию в первых операционных системах MacOS X, но в современных системах по умолчанию применяется интерпретатор bash.
Читайте также: