[Distutils] Pypi to enforce wheel, python3 - is it possible?
Evgeny Sazhin
eugene at sazhin.us
Wed Nov 5 04:28:11 CET 2014
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/20141104/a099214e/attachment.html>
More information about the Distutils-SIG
mailing list