[Distutils] Pypi to enforce wheel, python3 - is it possible?

Paul Moore p.f.moore at gmail.com
Wed Nov 5 00:38:25 CET 2014


On 4 November 2014 21:30, Wichert Akkerman <wichert at wiggy.net> wrote:
>> One of the problems though is that there is plenty of packages on Pypi
>> that are not there yet.
>
> One issue currently is that source distributions are much simpler to make: I can make a sdist without having wheel installed, and more importantly I can make a single sdist that works for both Python 2 and 3. That means I can make a release of a Python 3-compatible package without having to install Python 3 myself (or the reverse for people who are in a Python 3-only world), relying completely on a service such as Travis to run tests with Python 3.

If your code is single-source (i.e. doesn't need something like 2to3)
then you can put in your setup.cfg

[bdist_wheel]
universal=1

and the wheel you build will support both Python 2 and 3, even if you
built it with Python 2. Conceded you need wheel installed in order to
build wheels. It's a pretty small/fast download, and you only need to
install it once, but your point is true. Is it a big enough issue to
justify merging wheel into (say) setuptools? I don't think so
personally, but that would be the only way to avoid the need to
install it separately.

Paul


More information about the Distutils-SIG mailing list