Python and the oft-neglected uninstall feature

Wikipedia:Uninstall is prefaced with "This article needs attention from an expert in Software."

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.

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 included in Python for at least 15 years?

It’s pretty standard fair: uninstall has spotty support across a great many installation technologies. I won't try to draw some broad conclusion.

Instead, I wrote a comprehensive wiki page on Uninstalling setup.py install.