Python 3.11 Released! How to Install in Ubuntu 22.04 | 20.04 | 22.10

Last updated: October 28, 2022 — 11 Comments

The popular Python programming language released version 3.11 today. Here’s the new features and how to install guide for all current Ubuntu releases.

Python 3.11 claimed to be 10-60% faster than the previous 3.10, and features:

  • Exception Groups and except* to raise and handle multiple unrelated exceptions simultaneously.
  • Add add_note() method to BaseException to enrich exceptions.
  • Add the tomllib module to the standard library for parsing TOML
  • Point to exact expression that caused error when printing tracebacks.
  • New -P command line option and PYTHONSAFEPATH environment variable
  • Add TypeVarTuple, enabling parameterisation with an arbitrary number of types
  • Required[] and NotRequired[] to mark whether individual TypedDict items must be present.
  • Add Self to annotate methods that return an instance of their class
  • LiteralString to accept arbitrary literal string types, such as Literal["foo"] or Literal["bar"].
  • dataclass_transform to decorate a class, metaclass, or a function that is itself a decorator.
  • Removed Py_UNICODE encoder APIs
  • Macros converted to static inline functions
  • Many legacy standard library modules deprecated and to be removed in Python 3.13

How to Install Python 3.11 in Ubuntu

For Ubuntu 22.04, Ubuntu 20.04, Ubuntu 18.04, and their derivatives, such as Linux Mint, there’s a popular Deadsnakes PPA maintains the packages for Python 3.11 as well as other Python versions.

NOTE: The PPA does not support Ubuntu 22.10. You may follow the bottom link to build it from source tarball.

1. First, press Ctrl+Alt+T on keyboard to open terminal. When it opens, run command to add the PPA:

sudo add-apt-repository ppa:deadsnakes/ppa

Type user password when it asks (no asterisk feedback) and hit Enter to continue

2. Then refresh package cache via command below, though it’s done automatically in Ubuntu 20.04+:

sudo apt update

3. Finally, install python 3.11 via command:

sudo apt install python3.11

Or replace python3.11 with python3.11-full for IDE, pip package manager, etc.

Verify:

To verify, run python3.11 --version, python3.11 -m pip --version in terminal.

Set Python 3.11 as default

NOTE: change default Python3 in Ubuntu may cause issues for some default apps, such as GNOME Terminal

You may set the new Python package as default by using update-alternatives command line tool.

1. First, run command to create symbolic links for system default python (change python3.10 depends your Ubuntu edition)

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 110

2. Then, add the new Python 3.11 via command:

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 100

3. After that, you may choose which Python as Python3 at any time by running command:

sudo update-alternatives --config python3

Compile and install Python 3.11 manually from source

User may also compile the programming language from source tarball manually.

First, download the source from Python web site, then you may follow this step by step guide that I’ve tested in my Ubuntu 22.10 machine.

Twitter

I'm a freelance blogger who started using Ubuntu in 2007 and wishes to share my experiences and some useful tips with Ubuntu beginners and lovers. Please comment to let me know if the tutorial is outdated! And, notify me if you find any typo/grammar/language mistakes. English is not my native language. Contact me via ubuntuhandbook1@gmail.com Buy me a coffee: https://ko-fi.com/ubuntuhandbook1

11 responses to Python 3.11 Released! How to Install in Ubuntu 22.04 | 20.04 | 22.10

  1. Err:6 https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu kinetic Release
    404 Not Found [IP: 185.125.190.52 443]

    E: The repository ‘https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu kinetic Release’ does not have a Release file.
    N: Updating from such a repository can’t be done securely, and is therefore disabled by default.
    N: See apt-secure(8) manpage for repository creation and user configuration details.

    • The PPA only supports LTS releases, Ubuntu 22.10 user needs to built it from source manually. See the link in the bottom of the tutorial.

  2. does not work and breaks gnome terminal

  3. Do not install, it will brake ubuntu.

  4. I had version 22.04 and it did not install either. I highly recommend using the source install. It was not just version 22.10.
    The issue I see with this post is that the method of installation need to be verified by the author of this post for all OSses he mentions. I am not certain that was done?

  5. Changing the distro’s default python3 version will definitely cause issues.
    It’s safer to handle with asdf – this is like nvm for node but applied to a wide variety of runtimes.

  6. I have lubuntu 22.04 and I updated python to 3.11 and everything is fine.
    (by the way, it is not the first time that I install one version on top of the other)

  7. very helpful tutorial. tnx.

  8. Definitely broke my ubuntu 22.04

  9. python3.11 does not work with package python3-gi 3.42.1

    It crashes if you do
    from gi.repository import GLib

Leave a Reply

Text formatting is available via select HTML.

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> 

*