[Python-modules-team] Bug#739717: python-cliff: Please version dependencies

Julien Muchembled jm at jmuchemb.eu
Fri Feb 21 21:09:00 UTC 2014


Package: python-cliff
Version: 1.4.5-1
Severity: normal

Hello,

setup.py defines the following requirements:
  PrettyTable>=0.6,<0.8
  pyparsing>=2.0.1
  cmd2>=0.6.7

and I think binary packages should also have versionned dependencies.

python-cliff and its dependencies can be installed on Wheezy without any
rebuild provided cmd2 is updated to version >=0.6.7. Otherwise:

  $ python -c 'import pkg_resources; pkg_resources.load_entry_point("cliff", "cliff.formatter.list", "table")'
  [...]
  pkg_resources.VersionConflict: (cmd2 0.6.4 (/usr/lib/python2.7/dist-packages), Requirement.parse('cmd2>=0.6.7'))

This is also useful on testing/sid machines that have an outdated version of
python-cmd2. I use sid on my laptop and I'd get mad if I always had to do a
complete upgrade before installing any package.

I searched how to do and it seems easiest to add the following files:

  $ cat debian/pydist-overrides 
  cmd2        python-cmd2; PEP386
  PrettyTable python-prettytable; PEP386
  pyparsing   python-pyparsing; PEP386
  $ cat debian/py3dist-overrides 
  cmd2        python3-cmd2; PEP386
  PrettyTable python3-prettytable; PEP386
  pyparsing   python3-pyparsing; PEP386

Like this, no need to edit debian/* if setup.py updates versions of these
dependencies.

I checked on pypi and all these packages seem to respect PEP386.

For python-cliff, this produces:
  python-prettytable (>= 0.6), python-pyparsing (>= 2.0.1), python-cmd2 (>= 0.6.7)

No idea why "python-prettytable (<< 0.8)" is missing
but it's probably not worth working around this.

Regards,
Julien

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (900, 'unstable'), (400, 'testing'), (300, 'experimental'), (200, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.12.11+ (SMP w/4 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash



More information about the Python-modules-team mailing list