[Python-Dev] Proposing PEP 345 : Metadata for Python Software Packages 1.2
"Martin v. Löwis"
martin at v.loewis.de
Mon Dec 28 11:54:50 CET 2009
> Another penny dropped when it comes to version specs.
> Should 2.5 mean 2.5.0 only, or 2.5.*. Well... why would you ever need
> to specify 2.5.0 only. That's a nonsense specification.
> "My project requires Python 2.5.0, but doesn't work with 2.5.1". Huh!?
> Well, then fix it, goofball. :)
This == operator is fairly common in Debian. For example, the apache2
package installed on my system specifies
Depends: apache2-mpm-worker (= 2.2.14-4) | apache2-mpm-prefork (=
2.2.14-4) | apache2-mpm-event (= 2.2.14-4) | apache2-mpm-itk (=
2.2.14-4), apache2.2-common (= 2.2.14-4)
So they specify that the packages they need have *exactly* to come
from the same build. Otherwise, slight binary incompatibilities
may break the thing - and there is no point in risking that.
For Python, applications should probably be more tolerant wrt.
versioning. However, some people do want to lock dependencies
to a specific version, for better reproducability.
> The following would be illegal:
> Requires-Python: >= 2.5.2 > 3
> Requires-Python: <= 2.5.2 < 3
> Requires-Python: <= 2.5.2 < 3 > 3.1
-1. I would prefer if there is only a single syntax for specifying
version dependencies, independent of what metadata field they
More information about the Python-Dev