[Distutils] Q about best practices now (or near future)

Oscar Benjamin oscar.j.benjamin at gmail.com
Thu Jul 18 13:48:31 CEST 2013


On 17 July 2013 22:43, Nick Coghlan <ncoghlan at gmail.com> wrote:
>
> On 18 Jul 2013 01:46, "Daniel Holth" <dholth at gmail.com> wrote:
>>
>> On Wed, Jul 17, 2013 at 11:12 AM, Brett Cannon <brett at python.org> wrote:
>> > I'm going to be pushing an update to one of my projects to PyPI this
>> > week
>> > and so I figured I could use this opportunity to help with patches to
>> > the
>> > User Guide's packaging tutorial.
>> >
>> > But to do that I wanted to ask what the current best practices are.
>> >
>> > * Are we even close to suggesting wheels for source distributions?
>>
>> No, wheels don't replace source distributions at all. They just let
>> you install something without having to have whatever built the wheel
>> from its sdist. It is currently nice to have them available.
>>
>> I'd like to see an ambitious person begin uploading wheels that have
>> no traditional sdist.
>
> Argh, don't even suggest that. Such projects could never be included in a
> Linux distribution - we need the original source to push into a trusted
> build system.

What do you mean by this?

I interpret Daniel's comment as meaning that there's no setup.py in
the sdist. And I think it's a great idea and that lots of others would
be very happy to ditch the setup.py concept in favour of something
entirely different from the distutils way of doing things.

In another thread you mentioned the idea that someone would build
without using distutils/setuptools by using a setup.py that simply
invokes an alternate build system that is build-required by the sdist.
That's fine for simple cases but how many 'python setup.py <command>'s
should the setup.py support?

Setuptools setup() supports the following:
build, build_py, build_ext, build_clib, build_scripts, clean, install,
install_lib, install_headers, install_scripts, install_data, sdist,
register, bdist, bdist_dumb, bdist_rpm, bdist_wininst, upload, check,
rotate, develop, setopt, saveopts, egg_info, upload_docs,
install_egg_info, alias, easy_install, bdist_egg, test

(Presumably bdist_wheel would be there if I had a newer setuptools).


Oscar


More information about the Distutils-SIG mailing list