Изменить версию Python3 по умолчанию в Ubuntu
Я использую 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
Покажет вам ошибку:
Вам нужно обновить свою версию update-alternatives , тогда вы сможете установить версию Python по умолчанию.
Установите python3.6 по умолчанию.
Или используйте следующую команду, чтобы установить python3.6 по умолчанию:
Вы можете добиться этого, применяя следующие простые шаги —
- Проверьте версию 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’
- повторного входа в систему: .
/.bashrc
Простой ответ — добавить псевдоним для python3.6.
Просто добавьте эту строку в файл
/ .bashrc:, alias python3=»python3.6″ затем закройте свой терминал и откройте новый. Теперь, когда вы печатаете, python3 xxx он переводится в python3.6 xxx .
Это решение решает вашу проблему без необходимости слишком сильно настраивать вашу систему.
РЕДАКТИРОВАТЬ :
Как отметил Микаэль Кьер , это неверная конфигурация ANSIBLE в вашей системе.
Установите параметр ansible_python_interpreter конфигурации в / usr / bin / python3. Параметр конфигурации ansible_python_interpreter обычно устанавливается для каждого хоста в качестве переменной инвентаризации, связанной с хостом или группой хостов:
Как видно здесь о файле конфигурации:
Изменения могут быть внесены и использованы в файле конфигурации, который будет обрабатываться в следующем порядке:
Источник
linux-notes.org
Разработчики python не сделали поддержку версий и это не очень хорошо. Появляется ряд проблем, а именно с версиями ПО. Одни утилиты требуют версию 2.7.х, другие 3.4.х. И я хотел бы в своей статье, рассказать как можно использовать несколько версий или переключить версию python в Unix/Linux.
Переключить версию python в Unix/Linux
Сейчас по умолчанию, во многих Unix/Linux ОС используется питон 2.6. Чтобы проверить какая версия питона используется в системе, выполните:
Выполним установку python:
Так же, посмотрим:
И так, чтобы переключить версию питона, я буду использовать несколько методов.
-===СПОСОБ 1 — использование алиаса===-
Один из самых простых способов — это использовать алиасы. Открываем файл:
И, прописываем сам алиас на нужную версию питона:
Чтобы изменения вступили в силу, выполняем:
После этого, можно проверять версию:
Видно что все отлично работает.
-===СПОСОБ 2 — использование alternatives===-
Чтобы изменить версию python глобально, я воспользуюсь alternatives утилитой:
Если вывода не будет, — это будет означать, что python alternative еще не сконфигурирована. Чтобы это сделать, выполните ( взято в качестве примера):
Вышеупомянутые команды будут указывать команде alternatives для создания соответствующих символических ссылок, которые будут использоваться при выполнении команды python. Я назначил python3.6 более высокий приоритет ( цифра 2), — это означает, что если не выбрана альтернатива для python, то по умолчанию будет использоваться python3.6. После выполнения вышеуказанных команд ваша версия python должна измениться на python3.6 из-за ее более высокого приоритета.
Для переключения между вышеперечисленными версиями python теперь достаточно просто:
Чтобы удалить питон с alternatives, используем:
Как-то так! На этому у меня все, статья «Переключить версию python в Unix/Linux» завершена.
Источник
Переключение между версиями python в Ubuntu 16.04
У меня в Ubuntu 16.04 стоит 2 версии python: python2(при использовании python -V 2.7.12) и python3 (при использовании python3 -V 3.5.2).
Я решил установить свежую версию (3.6.5.). Скачав архив и выполнив следующие действия:
- переходим в папку с архивом выполнив $ tar xvf Python-3.6.5.tar.xz
- переходим в разархивированную папку с питоном cd Python-3.6.5/
- $ ./configure
- $ sudo apt-get install zlib1g-dev
- $ sudo make altinstall
Но при вводе python3 -V выводит 3.5.2 а не то что я установил (3.6.5).
При попытке создать виртуальное окружение $ python3 -m venv папка создается а вот команда $ virtualenv выдает следующее
1) Как мне выбрать версию python 3 которая будет использоваться по умолчанию (глобально на всей машине) ?. Например в системе стоит 3.5.2 по умолчанию а я хочу 3.6.5 по умолчанию. Не сломает ли это работу терминила, gnome, саму систему ?
2) Как переключаться между версиями python для каждого проекта (папки) ?
3) Устанавливая различные дополнительные пакеты через pip их нужно устанавливать через команду pip3 для python 3 и просто pip для python 2 ?
1 ответ 1
1) Как мне выбрать версию python 3 которая будет использоваться по умолчанию (глобально на всей машине) ?
Версия python3 задаётся симлинком, у меня это выглядит так:
но менять таки не рекомендую, есть завязки на конкретную версию, в первую очередь в том, что именно для неё стягиваются пакеты по зависимостям.
2) Как переключаться между версиями python для каждого проекта (папки) ?
virtualenv создаёт переходник для запуска конкретной версии Python по пути $ENV/bin/python , где $ENV это каталог созданного virtualenv. Для его использования есть несколько вариантов, но самый прямой — включить $ENV/bin/activate (командой . , она же source , в sh или bash), она добавляет этот bin в начало $PATH и ставит ещё несколько переменных окружения по обстановке. Далее за счёт $PATH этот python будет подключаться вперёд системных.
3) Устанавливая различные дополнительные пакеты через pip их нужно устанавливать через команду pip3 для python 3 и просто pip для python 2 ?
В созданном через virtualenv окружении надо использовать просто pip . Вне их, в основной системе — pip2 или pip3 (для Ubuntu именно так). То, что pip сейчас является алиасом для pip2 , может поменяться в следующих версиях.
Что у вас сломано в создании по virtualenv, я не могу понять по этому описанию. Попробуйте просто переустановить пакеты, относящиеся к питону.
UPDATE: про virtualenv. Вот пример. Создаю первое окружение с python2:
Второе точно так же:
Ставим numpy в первое:
Во второе не ставим. Проверяем что получилось — на bash чистом от настроек (я запускал новый терминал в screen, можно запустить иксовый terminal, konsole или что угодно взамен). Обратите внимание, после activate я для запуска питона говорю просто «python», без указания версии или самого окружения (оно всё уже установлено):
В соседнем терминале запускаем второе окружение:
как видим, во втором окружении numpy нет: мы его туда не ставили. Окружения разные с разными свойствами. А первый элемент в $PATH (вывод команды echo $PATH ) показывает каталог, который был добавлен activate из virtualenv.
И ещё для убедительности рассказа можно показать, что файлы numpy в результате запуска pip install numpy появились в p2.1, но не в p2.2:
что не ставили — того нет и не подключается, если разные версии установлены в разные окружения — будут разные версии. Причём: если в дефолтном питоне установлен пакет (numpy в моём примере) — из окружения он не видится (по крайней мере в тех версиях, что я проверял).
Источник
Как установить python 3.3 по умолчанию в ubuntu 13.10?
Не надо python3 настраивать по умолчанию в системе (может через пару лет это будет и нормально работать — но не сейчас когда еще куча утилит написана на python2 и на python3 работать не будет).
Если нужно одну программу заставить работать с python3 то отредактируйте первую строчку кода программы: Замените там
#!/usr/bin/env python
на
#!/usr/bin/env python3
Чтобы установить python 3-ей версии по умолчанию в ubuntu есть 2 способа:
1. добавляете вот такую строчку alias python=python3 в ваш
/.bash_aliases файл и обновляете сам файл source
/.bashrc (этот вариант будет работать только для той учетной записи, под которой вы добавляете алиас ).
2. выполнить sudo ln -sf python3 /usr/bin/python . эта команда обновит ссылку на питон в вашем /usr/bin каталоге (этот вариант будет работать для всех учетных записей).
Естественно, оба варианта будут работать только если питон 3 уже установлен на машину 🙂
Насчет sublime text 3 @brutal_lobster привел правильный конфиг. Единственное, что этот конфиг сработает, если в /usr/bin/ имеется файл python3.3. Если его там нет, путь нужно будет указать абсолютный. Например такой: «cmd»: [«/usr/bin/python3», «-u», «$file»],
За такой совет в приличном обществе можно и по морде схлопотать.
Большинство дистрибутивов Linux (Ubuntu — особенно) содержит кучу утилит написанных на python2 и они не будут работать на python3 с вероятностью близкой к 100%. Подменив ссылку python -> python2.7 на python -> python3 вы получите в лучшем случае сильно окривевшую систему.
Источник
Unable to set default python version to python3 in ubuntu
I was trying to set default python version to python3 in Ubuntu 16.04 . By default it is python2 (2.7). I followed below steps :
but I’m getting the following error for the second statement,
I’m new to Ubuntu and Idon’t know what I’m doing wrong.
22 Answers 22
The second line mentioned can be changed to
This gives a priority of 10 for the path of python3 .
The disadvantage of alternatively editing .bashrc is that using the commands with sudo will not work.
» in the error message already suggested it. BTW, «sudo» is typically needed to run this install command.
I wrote this when I was young and naive, update-alternatives is the better way to do this. See @Pardhu’s answer.
/.bashrc . Type alias python=python3 on to a new line at the top of the file then save the file with ctrl+o and close the file with ctrl+x. Then, back at your command line type source
/.bashrc . Now your alias should be permanent.
Use ‘update-alternatives —help’ for program usage information.
To change Python 3.6.8 as the default in Ubuntu 18.04 to Python 3.7.
Install Python 3.7
Steps to install Python3.7 and configure it as the default interpreter.
Install the python3.7 package using apt-get
sudo apt-get install python3.7
Add Python3.6 & Python 3.7 to update-alternatives
Update Python 3 to point to Python 3.7
sudo update-alternatives —config python3 Enter 2 for Python 3.7
Test the version of python
If you have Ubuntu 20.04 LTS (Focal Fossa) you can install python-is-python3 :
which replaces the symlink in /usr/bin/python to point to /usr/bin/python3 .
To change to python3, you can use the following command in terminal alias python=python3 .
A simple safe way would be to use an alias. Place this into
/.bashrc file: if you have gedit editor use
to go into the bashrc file and then at the top of the bashrc file make the following change.
After adding the above in the file. run the below command
/.bash_aliases or source
Just follow these steps to help change the default python to the newly upgrade python version. Worked well for me.
- sudo apt-install python3.7 Install the latest version of python you want
- cd /usr/bin Enter the root directory where python is installed
- sudo unlink python or sudo unlink python3 . Unlink the current default python
- sudo ln -sv /usr/bin/python3.7 python Link the new downloaded python version
- python —version Check the new python version and you’re good to go
At First Install python3 and pip3
then in your terminal run
Check the version of python in your machine.
As an added extra, you can add an alias for pip as well (in .bashrc or bash_aliases):
You many find that a clean install of python3 actually points to python3.x so you may need:
This is a simple way that works for me.
You could change /usr/bin/python3 for your path to python3 (or the version you want).
But keep in mind that update-alternatives is probably the best choice.
Update:
Since Ubuntu 20.04, the python3 is the default version, but still, python is not registered as python3 by default. In order to make that happen, you can simply do :
For more information you can check this out.
Old way:
then write either
Save the file, close the terminal and open it again.
You should be fine now! Link
As it says, update-alternatives —install needs
You have link ( /usr/bin/python ), name ( python ), and path ( /usr/bin/python3 ), you’re missing priority.
update-alternatives —help says:
is an integer; options with higher numbers have higher priority in automatic mode.
So just put a 100 or something at the end
To change Python 3.6.8 as the default in Ubuntu 18.04 from Python 2.7 you can try the command line tool update-alternatives .
If you get the error «no alternatives for python» then set up an alternative yourself with the following command:
Change the path /usr/bin/python3 to your desired python version accordingly.
The last argument specified it priority means, if no manual alternative selection is made the alternative with the highest priority number will be set. In our case we have set a priority 2 for /usr/bin/python3.6.8 and as a result the /usr/bin/python3.6.8 was set as default python version automatically by update-alternatives command.
we can anytime switch between the above listed python alternative versions using below command and entering a selection number:
Источник