[Distutils] Best way to handle packaging a project that only applies to certain versions of Python

Daniel Holth dholth at gmail.com
Mon Aug 29 20:08:26 EDT 2016


Let's say you have different code for python 3.3 and python 3.4+. Tag one
wheel py33-none-any and the second py34-none-any. The second wheel is
preferred on python 3.4 and above, but ignored by 3.3. The py3 tag wouldn't
work well here.

Order of preference on 3.5 is: ('py35', 'none', 'any'), ('py3', 'none',
'any'), ('py34', 'none', 'any'), ('py33', 'none', 'any'), ('py32', 'none',
'any'), ('py31', 'none', 'any'), ('py30', 'none', 'any')

Enscons would let you control the wheel tag directly but doesn't yet let
you build multiple wheels with a single invocation.

On Mon, Aug 29, 2016, 19:46 Donald Stufft <donald at stufft.io> wrote:

>
> On Aug 29, 2016, at 7:34 PM, Brett Cannon <brett at python.org> wrote:
>
> Someone has asked that I do a new release of importlib that includes a
> LICENSE file on PyPI: https://pypi.org/project/importlib/. Historically I
> have had the setup.py simply not include any Python code when built on
> versions of Python that include importlib in the stdlib itself:
> https://github.com/brettcannon/importlib/blob/master/setup.py .
>
> But now I would like to do a wheel. Is there some way I'm not thinking of
> to have a wheel that will leave out code or not install itself if a certain
> version of Python is used? Or will the user have to specify a proper Python
> requirement in their requirements.txt to get that kind of experience?
> _______________________________________________
> Distutils-SIG maillist  -  Distutils-SIG at python.org
> https://mail.python.org/mailman/listinfo/distutils-sig
>
>
> If your setup.py produces different output on different versions of
> Python, you’ll need multiple wheels.
>
>>
> Donald Stufft
> _______________________________________________
> Distutils-SIG maillist  -  Distutils-SIG at python.org
> https://mail.python.org/mailman/listinfo/distutils-sig
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20160830/b4a08866/attachment.html>


More information about the Distutils-SIG mailing list