How do I manually uninstall setuptools (installed by egg)?

David Cournapeau cournape at gmail.com
Fri Dec 12 19:41:09 EST 2008


On Sat, Dec 13, 2008 at 1:30 AM, Nick Craig-Wood <nick at craig-wood.com> wrote:
> David Cournapeau <cournape at gmail.com> wrote:
>>  On Thu, Dec 11, 2008 at 10:30 PM, Nick Craig-Wood <nick at craig-wood.com> wrote:
>> > David Cournapeau <cournape at gmail.com> wrote:
>> >>  On Wed, Dec 10, 2008 at 12:04 PM, Chris Rebert <clp at rebertia.com> wrote:
>> >> > On Tue, Dec 9, 2008 at 6:49 PM,  <excord80 at gmail.com> wrote:
>> >> >> On Ubuntu, I accidentally manually installed setuptools
>> >> >> http://pypi.python.org/pypi/setuptools/0.6c9 (by running the .egg file
>> >> >> as a shell script via sudo), and now realize I should just be using
>> >> >> apt to take care of my system Python packages.
>> >> >
>> >> > Really, why? setuptools has more Python packages/programs available
>> >> > and updates faster than Debian.
>> >> > It's also likely that some of the Debian Python packages are installed
>> >> > using setuptools anyway.
>> >> > So, why do you think apt and not setuptools is The Right Way(tm)?
>> >>
>> >>  Setuptools is certainly not the right way to install packages
>> >>  system-wide on debian, it is very likely to break the whole thing.
>> >
>> > It wouldn't be too difficult to make a .deb target which would collect
>> > all the files that did get installed into a package.  It would be a
>> > rather rough and ready package but would do the job.
>>
>>  Depends what you mean by would do the job: rather rough certainly does
>>  not mean "would do the job" for something as essential as a package
>>  IMO.
>
> Essentially a package has files in it in a fixed possition in the
> filesystem.  The package manager's (dpkg at this level) job is to keep
> track of those file and tell you about conflicts.

Yes, but this description is so high level that it hides the
difficulty of the task :) First, and firstmost, it is difficult if not
impossible to automatically translate from distutils/setuptools file
locations to a typical debian (or most other distribution for that
matter - the one which follow the FHS) description. Because distutils
does not make the distinction between doc, data, etc... as well as for
example autotools does.

>
> You can use alien to turn a tar.gz into a perfectly usable debian
> package.  It won't have dependencies, or help or any of the other
> things a package needs to be a proper package, but it satisfies my
> basic needs that all software is installed as packages, so it can be
> uninstalled cleanly.

This only works for very simple packages - pure python or no
dependencies, no post/pre install scripts, etc... If you want to
install a web framework, it won't be enough. If you want to install a
package which depends on C libraries, it won't work either.

>
> However when I have to make my stuff work on Windows, I find
> easy_install to be a fantastic timesaver as compared to looking for
> the package on a web site, downloading it, unpacking it installing it
> and then repeating for all the dependencies.

I agree that its features are useful. I just don't think the
implementation and the design are right - partly because it inherits
some fundamental distutils deficiencies with respect to package
description.

David



More information about the Python-list mailing list