[Python-Dev] PEP 376
Michael Foord
fuzzyman at voidspace.org.uk
Wed Jul 1 10:20:33 CEST 2009
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. Since "python setup.py
> [some-command]" implies that the setup.py contains information about
> the distribution that the command is being applied to. So instead of:
>
> $ python setup.py uninstall some_package
It could be:
$ python -m distutils uninstall some_package
Asymmetrical with the install of course.
Michael
>
> It could just be:
>
> $ python setup.py uninstall
>
> Except then you'd need to have a complete distribution kicking around
> with which to run the "python setup.py uninstall" command just to tell
> the uninstall command the distribution name you want to uninstall. But
> then with the other uninstall format you could uninstall any
> distribution from within any other distribution, which is convenient,
> but weird ... e.g.:
>
> $ cd Spam-1.0/
> $ python setup.py uninstall Foo
>
> Although even the other version of the command could do weird stuff:
>
> $ cd Spam-1.0/
> $ python setup.py install
> $ cd ../Spam-2.0/
> $ python setup.py uninstall
>
> Which would presumably remove the Spam 1.0 distribution when run from
> the 2.0 version of it! Or perhaps this command should only allow
> uninstall to be run from a distribution whose name and version match
> the one that it was installed from ...
>
> 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 since I
> would guess that the most common use-case for uninstall is: user
> downloads a distribution, runs "python setup.py install", tries out
> the package, decides they don't like package, then runs "python
> setup.py uninstall" to restore their python back to it's original
> state. For doing anything more complex than that, people should be
> encouraged to use another one of the existing tools for managing their
> distributions, IMHO.
>
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe:
> http://mail.python.org/mailman/options/python-dev/fuzzyman%40voidspace.org.uk
>
--
http://www.ironpythoninaction.com/
More information about the Python-Dev
mailing list