{"id":50343,"date":"2026-01-06T13:01:02","date_gmt":"2026-01-06T13:01:02","guid":{"rendered":"https:\/\/ubuntuhandbook.org\/?p=50343"},"modified":"2026-01-06T13:01:02","modified_gmt":"2026-01-06T13:01:02","slug":"official-python-ppa","status":"publish","type":"post","link":"https:\/\/ubuntuhandbook.org\/index.php\/2026\/01\/official-python-ppa\/","title":{"rendered":"Ubuntu Got New &#8220;Official&#8221; Python PPA with Backports for LTS"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-thumbnail wp-image-50344\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/python-logo-250x250.webp\" alt=\"\" width=\"250\" height=\"250\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/python-logo-250x250.webp 250w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/python-logo-300x300.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/python-logo-700x700.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/python-logo-768x768.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/python-logo.webp 1200w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><\/p>\n<p><b>For developers and those who need most recent or different but non-default Python versions, Ubuntu now has an &#8220;official&#8221; backport PPA for Ubuntu 22.04, Ubuntu 24.04, and Ubuntu 26.04 LTS.<\/b><\/p>\n<p>Ubuntu has Python pre-installed, but it won&#8217;t update the major version number. It has Python 3.10 for Ubuntu 20.04, Python 3.12 for Ubuntu 24.04, and Ubuntu 26.04 so far defaults to Python 3.13.<\/p>\n<p><!--more--><\/p>\n<p>It also includes latest non-default Python versions in system repositories, but usually for Ubuntu editions released after that Python release date. For example, Python 3.14 was released on 7 October 2025, the date after Ubuntu 25.10 final freeze, so it&#8217;s made available in Ubuntu 26.04 repository.<\/p>\n<div id=\"attachment_50345\" style=\"width: 620px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-50345\" class=\"size-large wp-image-50345\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/python-choices-700x476.webp\" alt=\"\" width=\"610\" height=\"415\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/python-choices-700x476.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/python-choices-300x204.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/python-choices-768x522.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/python-choices.webp 810w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><p id=\"caption-attachment-50345\" class=\"wp-caption-text\">Python 3.11 &amp; 3.13 backports for Ubuntu 24.04<\/p><\/div>\n<p>Previously, user may choose the popular <a href=\"https:\/\/launchpad.net\/~deadsnakes\/+archive\/ubuntu\/ppa\" target=\"_blank\" rel=\"noopener\">Deadsnakes PPA<\/a> or build from source for different or newer Python versions. Now, a new choice for Ubuntu LTS is available by the <a href=\"https:\/\/launchpad.net\/~canonical-python-maintainers\" target=\"_blank\" rel=\"noopener\">&#8220;Canonical Python Maintainers&#8221; team<\/a>.<\/p>\n<p>The PPA features:<\/p>\n<ul>\n<li><b>maintained by Ubuntu developer team<\/b>, considered as official.<\/li>\n<li><b>Ubuntu specific patches and security vulnerability fixes.<\/b><\/li>\n<li>Support all Ubuntu supported CPU architecture types.<\/li>\n<\/ul>\n<p>As a backport PPA, it does NOT include the latest versions (meaning the minor version number), but the ones from system repositories, e.g., Python 3.11.0~rc1 from 22.04, 3.12.3 from 24.04, 3.13.3 from 25.04, and 3.14.2 from 26.04.<\/p>\n<p>Meaning, the PPA packages would also benefit from the upstream system updates, e.g., security fixes and minor version updates.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-50346\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/python-backportspackages-700x397.webp\" alt=\"\" width=\"610\" height=\"346\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/python-backportspackages-700x397.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/python-backportspackages-300x170.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/python-backportspackages-768x436.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/python-backportspackages.webp 798w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p>However, the PPA so far is only a month old. And, it contains some issues at the moment of writing.<\/p>\n<p>The <code>python3.11-venv<\/code> and <code>python3.12-venv<\/code> packages are not installable due to dependency issue, <code>python3.13-tk<\/code> conflicts with default <code>python3-tk<\/code>, and Python 3.14 build is broken.<\/p>\n<p>But the minimal subset, with the interpreter and some essential modules, works great in my case.<\/p>\n<h3>How to Add the new Python PPA<\/h3>\n<p>The link to the new PPA is available via the button below:<\/p>\n<div class=\"wp-block-buttons aligncenter\">\n<div class=\"wp-block-button is-style-fill\"><a class=\"wp-block-button__link has-vivid-cyan-blue-to-vivid-purple-gradient-background has-text-color has-background\" href=\"https:\/\/launchpad.net\/~canonical-python-maintainers\/+archive\/ubuntu\/python-backports\" target=\"_blank\" rel=\"noreferrer noopener\">Python Backports PPA<\/a><\/div>\n<\/div>\n<p><b>To add the PPA<\/b>, simply press Ctrl+Alt+T on keyboard to open terminal, and run command:<\/p>\n<pre>sudo add-apt-repository ppa:canonical-python-maintainers\/python-backports<\/pre>\n<p><i>Type user password for sudo authentication and hit Enter to continue.<\/i><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-50347\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/add-python-backportsppa-700x476.webp\" alt=\"\" width=\"610\" height=\"415\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/add-python-backportsppa-700x476.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/add-python-backportsppa-300x204.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/add-python-backportsppa-768x522.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/add-python-backportsppa.webp 810w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p>Linux Mint needs to manually refresh cache (unless adding PPA via &#8220;Software Sources&#8221;) by running the command below, while the command above does it automatically in Ubuntu.<\/p>\n<pre>sudo apt update<\/pre>\n<p>Finally, run the command below to install python3.13 minimal setup:<\/p>\n<pre>sudo apt install python3.13-minimal<\/pre>\n<p>Or replace <code>3.13<\/code> with 3.12 or 3.11 for the corresponding versions.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-50348\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/apt-python313-mini-700x457.webp\" alt=\"\" width=\"610\" height=\"398\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/apt-python313-mini-700x457.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/apt-python313-mini-300x196.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/apt-python313-mini.webp 762w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p>After installation, use <code>whereis<\/code> command to see where it was installed.<\/p>\n<pre>python3.13 --version &amp;&amp; whereis python3.13<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-50349\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/python313-whereis-700x423.webp\" alt=\"\" width=\"610\" height=\"369\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/python313-whereis-700x423.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/python313-whereis-300x181.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/python313-whereis.webp 762w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<h3>Uninstall:<\/h3>\n<p>To remove the PPA, either run the command below to install <code>ppa-purge<\/code>, then use it to purge the PPA, which also remove all the packages installed from it.<\/p>\n<pre>sudo apt install ppa-purge &amp;&amp; sudo ppa-purge ppa:canonical-python-maintainers\/python-backports<\/pre>\n<p>The ppa-purge may fail due to internet interruption or 3rd party repository issues (e.g., missing public key). In the case, run the command below instead to remove the PPA:<\/p>\n<pre>sudo add-apt-repository --remove ppa:canonical-python-maintainers\/python-backports<\/pre>\n<p>Then, remove the Python packages via command (replace version number 3.13 accordingly):<\/p>\n<pre>sudo apt remove --autoremove python3.13-minimal<\/pre>","protected":false},"excerpt":{"rendered":"<p>For developers and those who need most recent or different but non-default Python versions, Ubuntu now has an &#8220;official&#8221; backport PPA for Ubuntu 22.04, Ubuntu 24.04, and Ubuntu 26.04 LTS. Ubuntu has Python pre-installed, but it won&#8217;t update the major version number. It has Python 3.10 for Ubuntu 20.04, Python 3.12 for Ubuntu 24.04, and [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":50344,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[2086,2045],"class_list":["post-50343","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-howtos","tag-programming","tag-python"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/50343","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/comments?post=50343"}],"version-history":[{"count":0,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/50343\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media\/50344"}],"wp:attachment":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media?parent=50343"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/categories?post=50343"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/tags?post=50343"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}