[Python-Dev] Distutils2 scripts

Tarek Ziadé ziade.tarek at gmail.com
Fri Oct 8 15:22:11 CEST 2010


2010/10/8 Fred Drake <fdrake at acm.org>:
> On Fri, Oct 8, 2010 at 7:24 AM, Dirkjan Ochtman <dirkjan at ochtman.nl> wrote:
>> It doesn't seem very nice to have a version in the script. Can we just
>> call it distutils? Or py-dist?
>
> If we go this route, then
>
> - "make altinstall" should include the version number in the name of *any*
>  scripts it installs.
>
> - "make install" would then add links without the version numbers.
>
> This mirrors the name of the Python executable, so is likely as "right" as
> it's going to get (*if* we install separate scripts).

Yes that what I was thinking about -- I am not too worried about this,
since every Linux  deals with the 'more than one python installed'
case.

>
> Georg:
>> What happened to "python setup.py action"?  Or is this a step towards
>> not requiring setup.py at all?
>
> I'm in favor of add a top-level setup module that can be invoked using
> "python -m setup ...".  There will be three cases:

Nice idea ! I wouldn't call it setup though, since it does many other
things. I can't think of a good name yet, but I'd like such a script
to express the idea that it can be used to:

- query pypi
- browse what's installed
- install/remove projects
- create releases and upload them

pkg_manager ?

>
> - d2 projects without a setup.py, where this will invoke the module from
>  the standard library,

Yes !

>
> - d2 projects with a setup.py, where the local setup.py will be invoked,
>  and

Mmm.. setup.py is gone in D2, and setup.py will be the marker of d1.
Some project might want to provide both setups for backward
compatibility:

- a setup.py (d1)
- a setup,cfg (d2 and optionally some d1 options)

It's easy enough in that case to detect if the .cfg has what d2
requires (like the [metadata] section)

>
> - d1 projects, which always have a setup.py, which will be invoked.

Yes

>
> This would provide the most consistent story for package users, where the
> only command they'll need to remember (for Python versions with the setup
> module) will be
>
>    python -m setup ...

Nice !  And I'd like to extend this idea with what we said at the last
Summit. What if a project like Pip is able to replace d1 and or d2
when it comes to install a package. As long as we agree on the same
command line interface, we could provide a way for pip to be called by
this global script.

Tarek

-- 
Tarek Ziadé | http://ziade.org


More information about the Python-Dev mailing list