[Bug 2137070] Re: python3-apt 2.0.1ubuntu0.20.04.1+esm1 version does not comply with PEP 440

Joao Andre Simioni 2137070 at bugs.launchpad.net
Wed Jan 14 21:37:43 UTC 2026


Hi Sudhakar,

I installed the packages here:

$ dpkg -l | grep -i python3-apt
ii  python3-apt                    2.0.1ubuntu0.20.04.2esm2          amd64        Python 3 interface to libapt-pkg

$ pip list | grep apt
python-apt          2.0.1+ubuntu0.20.4.2esm2

$ pip list --format json | jq '.[] | select(.name == "python-apt")'
{
  "name": "python-apt",
  "version": "2.0.1+ubuntu0.20.4.2esm2"
}


And now the version reported in pip is PEP440 compliant and I don't see the errors anymore.

$ python3
Python 3.8.10 (default, Mar 18 2025, 20:04:55) 
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from packaging.version import parse, Version
>>> Version("2.0.1+ubuntu0.20.4.2esm2").micro
1

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to python-apt in Ubuntu.
https://bugs.launchpad.net/bugs/2137070

Title:
  python3-apt 2.0.1ubuntu0.20.04.1+esm1 version does not comply with PEP
  440

Status in Ubuntu Pro:
  New
Status in python-apt package in Ubuntu:
  Incomplete

Bug description:
  [Description]

  The latest release of python3-apt (2.0.1ubuntu0.20.04.1+esm1) is
  setting the python version to:

  $ pip list | grep apt
  python-apt          2.0.1-ubuntu0.20.04.1-esm1

  This version is not compliant with PEP440 and breaks with other
  software that will check versions:

  $ python3
  Python 3.8.10 (default, Nov 17 2025, 15:36:31) 
  [GCC 9.4.0] on linux
  Type "help", "copyright", "credits" or "license" for more information.
  >>> from packaging.version import parse, Version
  >>> Version("2.0.1-ubuntu0.20.04.1-esm1").micro
  Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "/usr/lib/python3/dist-packages/packaging/version.py", line 277, in __init__
      raise InvalidVersion("Invalid version: '{0}'".format(version))
  packaging.version.InvalidVersion: Invalid version: '2.0.1-ubuntu0.20.04.1-esm1'

  The latest non ESM version works correctly:

  $ pip list | grep apt
  python-apt          2.0.1+ubuntu0.20.4.1

  Notice the replacement of (+) with (-) between the version (2.0.1) and
  the ubuntu0.20.04.1. (+) is the correct separator for local versions:

  https://peps.python.org/pep-0440/#local-version-segments
  https://peps.python.org/pep-0440/#development-release-separators

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-pro/+bug/2137070/+subscriptions




More information about the foundations-bugs mailing list