- Upgrade Python to latest version (3.10) on Ubuntu Linux
- Updating Python to the latest version
- Step 1: Check if Python3.10 is available for install
- Step 2: Install Python 3.10
- Step 3: Set Python 3.10 as default
- Fix pip and disutils errors
- Fix Python3-apt
- Install pip & distutils
- Fix pip-env errors when using venv
- Extra
- Как скачать и установить Python 3 на Ubuntu 18.04 (Linux)
- Как проверить текущую версию Python
- Как установить Python 3 на Linux через apt-get
- Как установить Python 3 на Linux из архива
- Ошибки, которые могут возникнуть при установке
- 1. Zipimport.zipimporterror
- 2. No module named ‘_ctypes’
- Как обновить команду python3 до последней версии
- Заключение
- How to reinstall or repair python3.8 safely in ubuntu 20.04 and revert all of its files back to default?
Upgrade Python to latest version (3.10) on Ubuntu Linux
Linux systems come with Python install by default, but, they are usually not the latest. Python also cannot be updated by a typical apt upgrade command as well.
To check the version of Python installed on your system run
python keyword is used for Python 2.x versions which has been deprecated
- Update Python to the latest version
- Fix pip & other Python related issues
- While doing the above two, ensure your Ubuntu which is heavily dependent on Python does not break
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.
Python3.10 is not officially available on Ubuntu 20.04, ensure you backup your system before upgrading.
Step 1: Check if Python3.10 is available for install
sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update
Check if Python 3.10 is available by running
This will produce the below result, if you see python3.10 it means you can install it
Step 2: Install Python 3.10
Now you can install Python 3.10 by running
sudo apt install python3.10
Now though Python 3.10 is installed, if you check the version of your python by running python3 —version you will still see an older version. This is because you have two versions of Python installed and you need to choose Python 3.10 as the default.
Step 3: Set Python 3.10 as default
Steps beyond here are tested on Ubuntu 20.04 in VM & WSL2, but are experimental , proceed at your own risk.
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 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.10 is not installed yet.
Fix Python3-apt
Running pip in terminal will not work, as the current pip is not compatible with Python3.10 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
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.10.
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.10/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.10-distutils
Now you can install pip by running
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py sudo python3.10 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-pipYou can fix this by reinstalling venv by running
sudo apt install python3.10-venv
All should be done now. It is complicated, but this is how you update Python to latest version.
Extra
If you have oh-my-zsh installed, you can avoid typing out python3 by running
Now you can run your files with py or python .
Как скачать и установить Python 3 на Ubuntu 18.04 (Linux)
В этой статье мы скачаем и установим последнюю версию Python 3 на Ubuntu. Затем убедимся, что python установлен корректно, рассмотрим популярные ошибки и их решения.
Все команды выполнялись в Ubuntu 18.04 LTS, но эта статья поможет установить python на Ubuntu 16.04, Debian, Mint и другие Linux-системы.
Мы используем командную строку Ubuntu — Терминал, для работы. Вы можете открыть Терминал через поиск или комбинацию клавиш Ctrl+Alt+T.
Как проверить текущую версию Python
Проверка текущей версии программного обеспечения не только помогает вам получить номер версии этого программного обеспечения, установленного в вашей системе, но и проверяет, действительно ли программное обеспечение установлено в вашей системе.
Мы сделаем то же самое для Python, выполнив следующую команду в нашем терминале:
Версия будет отображаться, как показано в приведенном выше выводе. Число зависит от того, когда вы обновили систему.
У вас также может быть несколько версий Python, установленных в вашей системе. Следующая команда выведет список всех версий Python, которые есть в вашей системе:
$ apt list --installed | grep python
Как установить Python 3 на Linux через apt-get
Установка Python 3 на Ubuntu с помощью команды apt-get довольно просто. Во-первых, вам необходимо обновить репозиторий системы, чтобы можно было установить последнюю доступную версию без проблем совместимости. Для этого выполните команду от имени администратора:
Так как Python уже установлен в нашей системе (это мы проверили в предыдущем разделе), нам нужно обновить его до последней версии следующим образом:
$ sudo apt-get upgrade python3
Система может попросить вас ввести пароль для прав sudo , поскольку только авторизованный пользователь может добавлять / удалять и обновлять программное обеспечение в Ubuntu.
Система также запросит подтверждение обновления. Введите Y , а затем нажмите Enter, чтобы продолжить.
Так вы обновили Python до последней доступной версии. Проверьте:
Если Python не установлен, вы можете установить его с правами sudo используя команду apt-get :
$ sudo apt-get install python3
Как установить Python 3 на Linux из архива
Сайт Python.org содержит список всех выпусков Python по этой ссылке:
https://www.python.org/downloads/source/
Поэтому, если вы решите установить Python вручную, можете скачать python любой сборки c официального сайта. На сайте также есть последние версии, которые вы не загрузите с помощью команды apt-get .
На момент подготовки материала Python-3.7.1 последняя доступная версия, поэтому мы скачаем его файл .tgz с помощью следующей команды:
$ wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz
Когда архив с ptyhon будет скачан, выполните следующую команду, чтобы извлечь файлы:
После того, как файлы извлечены, нужно запустить C-программу «configure». Для этого вам необходимо установить компилятор языка программирования C — gcc в вашу Linux-систему. Если он не предустановлен, установите его с помощью следующей команды:
Измените текущую директорию на Python-3.7.1 или на ту версию python, которую вы скачали и извлекли:
Теперь используйте следующую команду, чтобы запустить скрипт конфигурации:
Теперь пришло время установить Python.
Если вы не можете запустить команду make , установите make с помощью следующей команды:
Запустите следующую команду для установки языка программирования Python:
Скачанная версия Python с официального сайта установлена в вашей Linux-системе.
Ошибки, которые могут возникнуть при установке
1. Zipimport.zipimporterror
Когда вы запускаете команду sudo make install , можете столкнуться со следующей ошибкой:
Это значит, что нужно установить пакет с именем zlib1g-dev , так как он, возможно, вам не был нужен раньше.
Решение:
Выполните следующую команду с правами sudo, чтобы установить отсутствующий пакет zlib1g-dev :
$ sudo apt install zlib1g-dev
Затем повторите команду для завершения установки Python:
2. No module named ‘_ctypes’
Это ошибка появляется также при запуске команды sudo make install :
Это значит, что нужно установить пакет с именем libffi-dev , так как он, возможно, вам не был нужен раньше.
Решение:
Выполните следующую команду с правами sudo, чтобы установить отсутствующий пакет libffi-dev :
$ sudo apt-get install libffi-dev
Затем повторите команду для завершения установки Python:
Как обновить команду python3 до последней версии
Перед установкой Python вручную из архива номер версии нашей установки Python был 3.6.7
Когда я проверил номер версии python3.7 , он дает следующий вывод:
Обновите версию python для команды python3 следующей командой:
$ sudo apt-get upgrade python3
Теперь команда python3 работает с последней версией Python в моей системе (3.7.1).
Заключение
В большинстве версий Ubuntu уже установлены Python и Pip3, но после прочтения этой статьи вы узнали, как загрузить и обновить их до последних версий.
How to reinstall or repair python3.8 safely in ubuntu 20.04 and revert all of its files back to default?
I was messing around with python3 and pip, and some packages seem to have corrupted some of the python files, i am getting this error and some others when trying to use pip :
Exception: Traceback (most recent call last): File "/usr/local/lib/python3.8/dist-packages/pip/basecommand.py", line 209, in main status = self.run(options, args) File "/usr/local/lib/python3.8/dist-packages/pip/commands/install.py", line 249, in run with self._build_session(options) as session: File "/usr/local/lib/python3.8/dist-packages/pip/basecommand.py", line 66, in _build_session session = PipSession( File "/usr/local/lib/python3.8/dist-packages/pip/download.py", line 321, in __init__ self.headers["User-Agent"] = user_agent() File "/usr/local/lib/python3.8/dist-packages/pip/download.py", line 93, in user_agent zip(["name", "version", "id"], platform.linux_distribution()), AttributeError: module 'platform' has no attribute 'linux_distribution' Traceback (most recent call last): File "/usr/lib/python3.8/runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "/usr/lib/python3.8/runpy.py", line 87, in _run_code exec(code, run_globals) File "/usr/local/lib/python3.8/dist-packages/pip/__main__.py", line 19, in sys.exit(pip.main()) File "/usr/local/lib/python3.8/dist-packages/pip/__init__.py", line 217, in main return command.main(cmd_args) File "/usr/local/lib/python3.8/dist-packages/pip/basecommand.py", line 242, in main with self._build_session( File "/usr/local/lib/python3.8/dist-packages/pip/basecommand.py", line 66, in _build_session session = PipSession( File "/usr/local/lib/python3.8/dist-packages/pip/download.py", line 321, in __init__ self.headers["User-Agent"] = user_agent() File "/usr/local/lib/python3.8/dist-packages/pip/download.py", line 93, in user_agent zip(["name", "version", "id"], platform.linux_distribution()), AttributeError: module 'platform' has no attribute 'linux_distribution'
I tried hours using the suggested methods on related questions but non of them helped based on some threads, you should not remove python3.8 because many system resources use it, so how can i repair all of it files and reinstall it? i want it to basically revert back to default and remove all the installed packages, how can i do it?