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

Daniel Holth dholth at gmail.com
Wed Nov 5 06:06:36 CET 2014


Bad setup.py is a different issue. I didn't have a solution for that so I
did a binary package format instead. I wish there was more innovation on
the build side. We should be building sdists that can make wheels with no
DistUtils or setuptools.

"pip wheel ." is sometimes easier than setup.py bdist_wheel, like any pip
install it will force setuptools to be used.
On Nov 4, 2014 10:28 PM, "Evgeny Sazhin" <eugene at sazhin.us> wrote:

> My experience so far tells me otherwise. Our of 7 or so libraries that I
> tried to convert to wheel files that salt stack depends on only 2 were
> using setuptools, others were using distutils and had sometimes quite big
> setup.py files and were not compiling out of the box, and frankly I have no
> idea how I can create a wheel from a setup.py file that is taking 10
> screens to scroll and not using the packager that is supporting wheel and
> has dependencies on some C stuff.
>
> I think the notion of sdist being a magic thing that everybody should be
> able to make anything from doesn't actually work for end users.
>
> I think sdist has it's place but the guidance that people need should be
> quite explicit about how and what to do to end the confusion.
>
> Standard is standard and should be set in stone as such. Otherwise
> everybody keeps wondering around and doing whatever they see fit and
> effectively creating a mess without the ability to sync on common ground.
> like java jars are the standard way of distributing the libs, same thing
> should be with python packages. Everybody should know that wheel is that
> thing, nothing else. Doesn't it make sense?
>
> Thanks!
>  On Nov 4, 2014 8:16 PM, "Daniel Holth" <dholth at gmail.com> wrote:
>
>> It is usually pretty easy to build from sdist. Wheels are convenient but
>> I don't think they should be required.
>> On Nov 4, 2014 6:38 PM, "Paul Moore" <p.f.moore at gmail.com> wrote:
>>
>>> 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
>>> _______________________________________________
>>> 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/20141105/8a4d6f6e/attachment-0001.html>


More information about the Distutils-SIG mailing list