Как обновить python на linux
Перейти к содержимому

Как обновить python на linux

  • автор:

Как обновить python?

B parrot os стоит Python 3.7 , нужно обновить до python 3.8 и установить pip. sudo apt-get update не работает.

Отслеживать

3,076 2 2 золотых знака 11 11 серебряных знаков 36 36 бронзовых знаков

задан 30 апр 2020 в 11:42

35 1 1 серебряный знак 5 5 бронзовых знаков

На любой Linux системе лучше не трогать (не пытаться обновить) системный Python. Установите python 3.8 отдельно — sudo apt-get install python3.8 , потом запускать в терминале как python3.8 . Команда sudo apt-get update сама по себе обновляет не установленные пакеты, а только информацию о пакетах.

30 апр 2020 в 11:52

А как установить на него pip

Как обновить python на Ubuntu

Admin 30.10.2022 Linux, Python, Ubuntu

Обновление на новые версии это всегда «весело». Вместе с новым функционалом понадобится убрать устаревшие функции, обновить потерявшие совместимость модули и в целом проделать большую работу.

Подготавливаем данные с локальной версии

Сначала обновляем версию локально, тестируем. Фиксируем изменения всех зависимостей командой:

pip freeze > requirements.txt

Обновляем Ubuntu на сервере

Проверим версию Ubuntu:

cat /etc/*release

Обновим систему и пакеты в ней:

sudo apt update && sudo apt upgrade -y

Обновляем python на сервере

Если сразу запустить обновление, то возникнет ошибка:

sudo apt install python3.10
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
E: Невозможно найти пакет python3.10
E: Не удалось найти ни один пакет с помощью шаблона «python3.10»

Сначала установим необходимые компоненты для добавления пользовательских PPA:

sudo apt install software-properties-common -y

Добавим PPA-репозиторий deadsnakes/ppa в список источников диспетчера пакетов APT:

sudo add-apt-repository ppa:deadsnakes/ppa -y

Запустим обновление APT для обновления менеджера пакетов — появится новый импортированный PPA:

sudo apt update

Теперь можем установить новую версию python 3.10:

sudo apt install python3.10

Проверим установленную версию:

python3.10 —version

Также проверим текущую версию по умолчанию:

Установим дополнительные модули стандартной библиотеки (venv):

sudo apt install python3.10-venv -y

Для расширений C:

sudo apt install python3.10-dev -y

Также могут пригодиться и другие модули:

sudo apt install python3.10-distutils -y
sudo apt install python3.10-lib2to3 -y
sudo apt install python3.10-gdbm -y
sudo apt install python3.10-tk -y

Многие дополнительные модули python нужны для работы библиотек, без них они не установятся и будут вылезать ошибки.

Меняем версию python в системе «по умолчанию»

По умолчанию python будет указывать на старую версию.

Например, Python 3 указывает на Python 3.8. Это значит, что когда мы запустим python3, он будет выполняться как python 3.8, мы же хотим выполнить его как python 3.10.

Для этого добавим альтернативы:

sudo update-alternatives —install /usr/bin/python3 python3 /usr/bin/python3.8 1
sudo update-alternatives —install /usr/bin/python3 python3 /usr/bin/python3.10 2

Выберем нужную сборку:

sudo update-alternatives —config python3

Устанавливаем новое окружение

Переименовываем старую директорию окружения (мы должны находится в директории сайта с виртуальным окружением):

mv venv venv-old-python-3.8

Затем в этой директории создаем новое виртуальное окружение:

Upgrade Python to latest version (3.12) on Ubuntu Linux or WSL2

Ubuntu both Desktop & WSL2 Linux systems come with Python installed by default, but, they are usually not the latest. This is a short guide on how to upgrade your Python to the latest version (Python 3.12) on Ubuntu Linux and solve associated issues.

I am using Ubuntu 22.04 on WSL2, but this should work on any Ubuntu version.

First, check the version of Python installed on your system run

python3 --version 

python keyword is used for Python 2.x versions which has been deprecated

Updating Python to the latest version

Ubuntu’s default repositories do not contain the latest version of Python, but an open source repository named deadsnakes does.

Step 1: Check if Python3.12 is available for install

First, update your system by running

sudo apt update  sudo apt upgrade -y 
sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update 

Check if Python 3.12 is available by running

apt list  grep python3.12 

This will produce the below result, if you see python3.12 it means you can install it

If you see something similar to the above, it means you can install Python 3.12.

Step 2: Install Python 3.12

Now you can install Python 3.12 by running

sudo apt install python3.12 

Now though Python 3.12 is installed, if you check the version of your python by running python3 —version you will still see an older version. This is because if you are using Ubuntu Desktop, the default Python is needed by the system and changing it will break your system.

Step 3: Run Python 3.12

You can run Python 3.12 by running

python3.12 --version 

The right way to run Python 3.12 On Linux Desktops is by using a virtual environment.

E.g. you can create a new virtual environment by running

python3.12 -m venv env 

and activate it by running

 env/bin/activate 

Now you can run python —version and you should see the latest version of Python as the output.

Extra

If you really, really, really don’t want to type python3.12 every time you want to run a file, you can create an alias.

If you are using bash, run

  >> ~/.bashrc   >> ~/.bashrc 

Or, if you have oh-my-zsh installed, you can avoid typing out python3 by running

  >> ~/.zshrc   >> ~/.zshrc 

After restarting your terminal, you can run your Python apps with py or python .

WSL2 Only: Set Python 3.12 as default

Steps beyond here are tested on WSL2, it may break your Ubuntu/Linux desktop.

Changing the default alternatives for Python will break your Gnome terminal. To avoid this, you need to edit the gnome-terminal configuration file.

Open the terminal and run:

sudo nano /usr/bin/gnome-terminal 

In first line, change #!/usr/bin/python3 to #!/usr/bin/python3.8 . Press Ctrl +X followed by enter to save and exit.

Then save and close the file.

Next, update the default Python by adding both versions to an alternatives by running the below

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9  update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 Now run
sudo update-alternatives --config python3 

Choose the selection corresponding to Python3.10 (if not selected by default).

Now run python3 —version again and you should see the latest Python as the output.

Fix pip and disutils errors

Installing the new version of Python will break pip as the distutils for Python3.12 is not installed yet.

Fix Python3-apt

Running pip in terminal will not work, as the current pip is not compatible with Python3.12 and python3-apt will be broken, that will generate an error like

Traceback (most recent call last): File "/usr/lib/command-not-found", line 28, in <module> from CommandNotFound import CommandNotFound File "/usr/lib/python3/dist-packages/CommandNotFound/CommandNotFound.py", line 19, in <module> from CommandNotFound.db.db import SqliteDatabase File "/usr/lib/python3/dist-packages/CommandNotFound/db/db.py", line 5, in <module> import apt_pkg ModuleNotFoundError: No module named 'apt_pkg' 

To fix this first remove the current version of python3-apt by running

sudo apt remove --purge python3-apt 

Then do some cleanup

sudo apt autoclean 

DO NOT RUN sudo apt autoremove as it will remove several packages that are required. This may break your system if you’re using GUI, if you’re on WSL2 you can proceed.

Finally, reinstall python3-apt by running

sudo apt install python3-apt 

Install pip & distutils

Running pip will still throw an error pip: command not found . We need to install the latest version of pip compatible with Python 3.12.

Also, if try to manually install the latest version of pip, it will throw an error like

ImportError: cannot import name 'sysconfig' from 'distutils' (/usr/lib/python3.12/distutils/__init__.py) 

Or you might also see an error stating No module named ‘distutils.util’ . This is because the distutils module is not installed yet, to install run the below command

sudo apt install python3.12-distutils 

Now you can install pip by running

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py sudo python3.12 get-pip.py 

If you get an error like bash: curl: command not found then you need to install curl first by running sudo apt install curl

Now you can run pip and you should see the output of pip —version

Fix pip-env errors when using venv

When you try to create a new virtual environment using python -m venv env , you may into the following error.

Error: Command -Imensurepip--upgrade--default-pip returned non-zero  status You can fix this by reinstalling venv by running
sudo apt install python3.12-venv 

All should be done now. It is complicated, but this is how you update Python to latest version.

Как установить последний Python на Ubuntu 18.04

В этой статья я расскажу вам как установить Python 3 на Ubuntu 18.04, обновить до последней версии, а также как удалить его.

Перед установкой последней версии Python проверим текущую версию. Это можно сделать командой:

Перед установкой последней версии Python проверим текущую версию. Это можно сделать командой:

python3 -V или python3 --version

Если у вас установлено несколько версий, вы можете вывести информацию обо всех версиях с помощью команды:

apt list --installed | grep python

Если вы хотите установить последнюю версию Python 3 на вашу Ubuntu 18, используйте:

sudo apt-get install python3

или, если Python 3 уже установлен, обновите его до последней версии командой:
sudo apt-get upgrade python3

Также, вы можете установить Python 3 вручную, из исходных кодов. Для этого следуйте инструкции.

Как обновить Python до последней версии

Для обновления Python до последней версии используйте:

sudo apt-get upgrade python3

Также, вы можете установить Python 3 вручную, из исходных кодов. Для этого следуйте инструкции.

Как удалить Python

Для удаления Python с вашего компьютера выполните:

sudo apt remove python3.6

Примечание: вы не сможете удалить основную версию, используемую системой, а только отличную от основной.

Если вы устанавливали Python из исходников и хотите обновить его, то сначала удалите все версии и повторите установку по инструкции. Все бинарные файлы Python располагаются в /usr/local/bin и вы должны удалить их вручную:

sudo rm /usr/local/bin/py* sudo rm /usr/local/bin/pip* sudo rm /usr/local/bin/idle* sudo rm /usr/local/bin/2to3* sudo rm /usr/local/bin/easy_install-3.6

Как только вы их удалили — можете приступать к установке последней версии

Похожие записи:

  1. Как установить Python 3.8 в Ubuntu/Debian/Linux Mint
  2. Как установить Python 3 из исходников на Ubuntu 18.04
  3. Как установить Python 3.6 в CentOS 6
  4. Как установить последний NodeJS в Amazon Linux 7/Centos 7

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *