[Python-Dev] Distutils2 scripts

Tarek Ziadé ziade.tarek at gmail.com
Fri Oct 8 19:07:26 CEST 2010

On Fri, Oct 8, 2010 at 7:01 PM, Fred Drake <fdrake at acm.org> wrote:
> On Fri, Oct 8, 2010 at 9:22 AM, Tarek Ziadé <ziade.tarek at gmail.com> wrote:
>> pkg_manager ?
> 1. Underscores are evil.  Don't do that.
> 2. Mixed shortened + written-out names are just nasty.
>> Mmm.. setup.py is gone in D2, and setup.py will be the marker of d1.
> Did we finally decide it could be done without setup.py entirely, in
> all cases?  I guess I've been busy elsewhere lately.

You mean like, having a distutils1 project without setup.py ?

>> Some project might want to provide both setups for backward
>> compatibility:
>> - a setup.py (d1)
>> - a setup,cfg (d2 and optionally some d1 options)
> If a project requites setup.py for any reason, it can include the
> compatibility it needs there, even if there is sometimes a need for d2
> to use a setup.py:
>    try:
>        import distutils2
>    except ImportError:
>        import distutils.core
>        distutils.core.setup(...)
>    else:
>        distutils2.core.setup()

At the last sprint, we ended up thinking that it would be better to
have a setup.py that work only with distutils, and let people using
setup.cfg for d2 (and if needed, hooks)

This is way simpler for people because we can tell them: leave your
setup.py as it is so you are compatible with installers like pip and
easy_install for the time being, and add stuff in your .cfg. That way,
they don't have to throw distutils2 code in the mix in setup.py, and
be confused with all the subtle differences. And they'll follow that
way the "no-setup.py" philosophy


More information about the Python-Dev mailing list