Skip to content

pip will uninstall .egg-info files from pure distutils installs #645

Closed
qwcode opened this Issue Aug 18, 2012 · 3 comments

2 participants

@qwcode
qwcode commented Aug 18, 2012

as stated in it's docs, pip doesn't support uninstalling pure distutils distributions installed with python setup.py install

but if you do attempt to uninstall one using pip, it will prompt you to remove the distutils egg-info file like so.

$ py32/bin/pip uninstall lupyne
Uninstalling lupyne:
  /tmp/py32/lib/python3.2/site-packages/lupyne-1.2-py3.2.egg-info
Proceed (y/n)? 

pip shouldn't do this, and could probably offer a message that removing such a package is not supported.

@qwcode
qwcode commented Aug 18, 2012

pip is conflating egg-info files with egg-info dirs in the uninstall code, and some of the vars are named in a way that promotes confusion.

e.g.

pip_egg_info_path = os.path.join(dist.location, dist.egg_name()) + '.egg-info'

that can be a file or a dir. if it's a file, it's not pip's *.egg-info path.

@mcdonc mcdonc added a commit to mcdonc/pip that referenced this issue Sep 9, 2012
@mcdonc mcdonc - Fixed issue 645: Don't allow distributions installed by bare distut…
…ils to

  be uninstalled via ``pip uninstall``.  Instead, now, the process will exit
  with an error if you attempt to uninstall a package installed via
  distutils.

Fixes issue #645.
7ffd122
@mcdonc mcdonc referenced this issue Sep 9, 2012
Closed

Fix for issue 645 #667

@Juanlu001

What's the status of this?

@qwcode
qwcode commented Jul 5, 2013

#667 stalled with some travis/debian issues.
should be easy to overcome though.
feel free to reuse the work in that and submit a new pull.

@dstufft dstufft closed this in #2386 Jan 31, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.