[Distutils] Are chained comparisons allowed in environment markers?

Vinay Sajip vinay_sajip at yahoo.co.uk
Sun Apr 28 00:38:58 CEST 2013


> I was not proposing that we support inequalities.  They aren't so

> problematic in themselves, as they are inviting various questions and
> issues such as why they don't do any sort of version parsing.

I'm not sure that platform_version inequalities make sense to support, because the semantics across different platform versions aren't clear cut, even on a given platform. But as far as python_version is concerned, there is an understanding about compatibility and Python X.Y versions. It doesn't seem like we need to do version parsing for python_version in the same way as we do for packages on PyPI.

> My preferred way to deal with the whole thing is to allow single or
> triple-quoted strings, disallow backslashes, and assume ASCII-only.

Why do we need triple-quoted strings in environment markers?

> That lets me avoid eval *and* string decoding on 2.x.  (My
> implementation is actually single-source for 2.3 up through 3.2 at
> least, but does so by assuming all the strings it handles are the same
> type.)

I thought you wouldn't need eval if you could use e.g. s.decode('unicode_escape') - are there problems with doing this in older Python versions?

Also, given that setuptools and distribute are merging,  I presume that means that there will need to be some more flexibility in dealing with Unicode in 2.x code. I'm also hoping that some use can be made of my distribute3 fork, which runs on 2.x and 3.x without alteration or need for 2to3, and so has to deal with both bytes and Unicode.

Regards,

Vinay Sajip



More information about the Distutils-SIG mailing list