[Python-Dev] PEP 376

R. David Murray rdmurray at bitdance.com
Wed Jul 1 15:39:09 CEST 2009


On Tue, 30 Jun 2009 at 20:06, Scott David Daniels wrote:
> Kevin Teague wrote:
>>  On Jun 30, 2009, at 4:46 PM, Tarek Ziadé wrote:
>> >  On Tue, Jun 30, 2009 at 10:06 PM, Scott David
>> >  Daniels<Scott.Daniels at acm.org> wrote:
>> > >  Tarek Ziadé wrote:
>> > > >  On Tue, Jun 30, 2009 at 8:37 PM, Paul Moore<p.f.moore at gmail.com> 
>> > > >  wrote:
>> > > > >  [1] I'd actually like it if the PEP defined an uninstall command -
>> > > > >  something like "python -m distutils.uninstall packagename". It can 
>> > > > >  be
>> > > > >  as minimalist as you like, but I'd like to see it present.
>> > > >  it's already there:
>> > > >  http://www.python.org/dev/peps/pep-0376/#adding-an-uninstall-function
>> > >  That (at least as I read it) is a function, not a command.
>> > >  If it is a command, give an example of its use from the command line
>> > >  for us poor "don't want to research" people.  If the following works:
>> > >     $ python setup.py uninstall some_package
>> > >  Then explicitly say so for us poor schlubs.
>> >  Right, I'll add that. Although it will be a reference implementation 
>> >  only.
>>  Uninstall as a command feels a little weird....
>>  I dunno what the right solution is. My two-cents is either to punt and
>>  only include an uninstall function as currently proposed, or for only
>>  supporting some form of the "python setup.py uninstall" style....
>
> But for us poor schlubs, we want you brilliant packagers to actually
> come to a hard decision.  If you want approval either admit you have no
> solution in the PEP (and detail the issues that prevent a decision),
> provide a minimally acceptable command, or expect that nobody sees the
> value of what you propose....

I haven't read the PEP in detail since it's outside my area of interest
and knowledge(*), but my understanding of the goal is that the PEP is
providing an _infrastructure_ for system-level package management tools.
The uninstall function is part of that infrastructure, but since
distutils isn't a package manager itself (it's an install program),
distutils as currently organized can't really handle uninstall except
as outlined in a section you may have clipped from the above context
(ie: when setup.py from the original package is available).

A possible implementation at the python/distutils level might be to
have a 'pyuninstall' command installed (like pydoc et al are installed)
which handles uninstallation.

The question is what do the people who do real package management
(linux distribution level package management and the equivalent) think?
I'm guessing they are happy with just having the function for their
package management tools to call when needed, since (I'm hoping) they
are part of the distutils sig....

So, if my understanding of the overall goal is correct, it looks to me
like the PEP is missing a "motivation" section that talks about system
package managers.

--David

(*) I'll make time to read it anyway soon.


More information about the Python-Dev mailing list