- Python Home
- About
- News
- Documentation
- Downloads
- Community
- Foundation
- Developer's Guide
- Issue Tracker
- Issues
- Summaries
- User
- Administration
- Help
Issue4673
This issue tracker has been migrated to GitHub,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2008-12-15 22:28 by andybuckley, last changed 2022-04-11 14:56 by admin. This issue is now closed.
| Messages (10) | |||
|---|---|---|---|
| msg77885 - (view) | Author: Andy Buckley (andybuckley) | Date: 2008-12-15 22:28 | |
It would make package maintenance easier, as well as integration with other build systems e.g. autotools (necessary for projects where not everything is Python), if the distutils supported an uninstallation command, e.g. python setup.py uninstall This would presumably require monitoring of which files were installed where, and it's of course possible to do undesirable things, but exactly the same counter-arguments exist for autotools, and there the uninstall target is an important and useful feature for developers, once you know how to behave in a way to make it safe. |
|||
| msg78488 - (view) | Author: Tarek Ziadé (tarek) * ![]() |
Date: 2008-12-29 21:50 | |
This would require a detailed description on how such a feature would work. |
|||
| msg80601 - (view) | Author: philobyte (philobyte) | Date: 2009-01-27 00:24 | |
python setup.py uninstall should do all the same processing as 'install' but whenever it gets to the point of copying a file to a system destination, it should instead unlink the destination. besides the obvious use, here is another one: when upgrading a package, and the new version no longer includes certain files, just installing the new version will leave leftovers of the previous version installed. using uninstall beforehand will clean out the cruft. |
|||
| msg80633 - (view) | Author: Tarek Ziadé (tarek) * ![]() |
Date: 2009-01-27 07:53 | |
philobyte, this means you have to keep the source somewhere to be able to run setup.py uninstall. This is not handy imho. What about a uninstall registery in Python that keeps track of the files installed for each package ? this would let us have an uninstall command that could run on its own. "uninstall packagename" |
|||
| msg80647 - (view) | Author: Andy Buckley (andybuckley) | Date: 2009-01-27 11:25 | |
If an uninstall registry is feasible, the it could be neat. The suggested behaviour of unlinking known files based on the source directory is not all that inconvenient: it's by no means perfect, but it has its uses and is familiar to many, since it is how GNU autotools behaves. |
|||
| msg80801 - (view) | Author: Tarek Ziadé (tarek) * ![]() |
Date: 2009-01-30 00:39 | |
I will continue to discuss this in distutils-SIG: Marc-André Lemburg proposed me to introduce the uninstall command from mxSetup.py (from mxBase, http://www.egenix.com/products/python/mxBase/) So I need to ask for opinions first |
|||
| msg99870 - (view) | Author: Toshio Kuratomi (a.badger) * | Date: 2010-02-22 23:23 | |
We're working on this as part of the distutils2 effort. Current distutils (version 1) will not support uninstall. |
|||
| msg99873 - (view) | Author: Toshio Kuratomi (a.badger) * | Date: 2010-02-22 23:28 | |
Targetting 3.3 |
|||
| msg115781 - (view) | Author: Éric Araujo (eric.araujo) * ![]() |
Date: 2010-09-07 15:44 | |
Status update: Josip implemented PEP 376 to provide the installation database and Alexis is working on distutils2.install_tools to provide an uninstall function. User-level tools like pip can reuse this code to provide an uninstall functionality. |
|||
| msg139773 - (view) | Author: Éric Araujo (eric.araujo) * ![]() |
Date: 2011-07-04 14:35 | |
distutils2/packaging now provides a remove function and a pysetup remove command. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022-04-11 14:56:42 | admin | set | github: 48923 |
| 2011-07-04 14:35:14 | eric.araujo | set | status: open -> closed versions: + Python 3.3, - 3rd party messages: + msg139773 dependencies: - packaging: add tests for old versions cleanup on update resolution: fixed stage: resolved |
| 2010-10-22 14:55:51 | eric.araujo | set | dependencies: + packaging: add tests for old versions cleanup on update |
| 2010-09-29 23:54:10 | eric.araujo | set | versions: + 3rd party, - Python 2.6, Python 2.5, Python 3.1, Python 2.7, Python 3.2 |
| 2010-09-07 15:44:42 | eric.araujo | set | nosy:
+ eric.araujo, alexis messages: + msg115781 |
| 2010-06-03 14:47:24 | eric.araujo | set | keywords:
+ gsoc nosy: giampaolo.rodola, tarek, a.badger, andybuckley, philobyte components: + Distutils2, - Distutils versions: + Python 2.6, Python 2.5, Python 3.1, Python 2.7, Python 3.2, - Python 3.3 |
| 2010-02-22 23:28:43 | a.badger | set | messages:
+ msg99873 versions: + Python 3.3, - Python 2.6 |
| 2010-02-22 23:23:55 | a.badger | set | nosy:
+ a.badger messages: + msg99870 versions: + Python 2.6, - Python 2.5 |
| 2009-01-30 20:39:09 | giampaolo.rodola | set | nosy: + giampaolo.rodola |
| 2009-01-30 00:39:52 | tarek | set | assignee: tarek messages: + msg80801 |
| 2009-01-27 11:25:11 | andybuckley | set | messages: + msg80647 |
| 2009-01-27 07:53:23 | tarek | set | messages: + msg80633 |
| 2009-01-27 00:24:39 | philobyte | set | nosy:
+ philobyte messages: + msg80601 |
| 2008-12-29 21:50:55 | tarek | set | nosy:
+ tarek messages: + msg78488 |
| 2008-12-15 22:28:53 | andybuckley | create | |


