Comment 0 for bug 2018519

Revision history for this message
Adrianna PiƄska (confluence) wrote :

I'm using dput version `1.0.3ubuntu1` on Ubuntu 20.04. Setuptools version 66 introduced a breaking change to end support of version strings which don't conform to PEP 440. If the installed setuptools version is 66 or higher, the dput launcher script fails with this error:

```
adrianna@sergyar:~/packaging/beta$ dput
Traceback (most recent call last):
  File "/usr/bin/dput", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/home/adrianna/.local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3327, in <module>
    def _initialize_master_working_set():
  File "/home/adrianna/.local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3301, in _call_aside
    f(*args, **kwargs)
  File "/home/adrianna/.local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3339, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/home/adrianna/.local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 629, in _build_master
    ws.require(__requires__)
  File "/home/adrianna/.local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 966, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/home/adrianna/.local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 827, in resolve
    dist = self._resolve_dist(
  File "/home/adrianna/.local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 852, in _resolve_dist
    if dist is None or (dist not in req and replace_conflicting):
  File "/home/adrianna/.local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3204, in __contains__
    return self.specifier.contains(item, prereleases=True)
  File "/home/adrianna/.local/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/specifiers.py", line 902, in contains
    item = Version(item)
  File "/home/adrianna/.local/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/version.py", line 197, in __init__
    raise InvalidVersion(f"Invalid version: '{version}'")
pkg_resources.extern.packaging.version.InvalidVersion: Invalid version: '1.0.3ubuntu1'
```

The only workaround is to downgrade setuptools to an older version.

If this was fixed in a more recent version of dput, can the fix be backported to Focal?