update redesign date
[iankelling.org] / blog / 2014-08-07-python-uninstall.md
1 ---
2 title: "Python and the oft-neglected uninstall feature"
3 comment_links:
4 reddit: https://www.reddit.com/r/programming/comments/2d2jwl/pythons_setuppy_and_the_oft_neglected_uninstall/
5 ---
6
7 [Wikipedia:Uninstall](https://en.wikipedia.org/wiki/Uninstall) is prefaced with "This article __needs attention from an expert in Software__."
8
9 `setup.py install` is the base standard install method for Python projects. I found myself wanting to uninstall one of these projects the other day. Turns out it doesn't support uninstall, but Google's top result is a Stackoverflow answer with ~250 votes that says [it can be done no problem](https://stackoverflow.com/questions/1550226/python-setup-py-uninstall).
10
11 What it doesn't say is that it will silently fail / delete the wrong files when filenames have spaces, along with other important limitations. I looked around at all the other answers and links from google and there was no better answer. How does this happen for a widely used package inluded in Python for at least [15 years](http://hg.python.org/cpython/file/61c91c7f101b/Lib/distutils)?
12
13 It’s pretty standard fair: uninstall has spotty support across a great many installation technologies. I won't try to draw some broad conclusion.
14
15 Instead, I wrote a [comprehensive wiki page on Uninstalling setup.py install](https://ofswiki.org/wiki/Uninstalling_setup.py_install).