Ronald Oussoren wrote:
On 11 Oct, 2009, at 20:58, Lennart Regebro wrote:
2009/10/11 Ronald Oussoren <[email protected]>:
That is, I install "SuperWebFramework==1.0" which happens to depend on
peak-rules. I later start using peak-rules in my own simple scripts
(without
a setup.py or other explicit dependency information), and yet later
decide
to uninstall "SuperWebFramework". If I understand the proposal
correctly
the uninstallation of "SuperWebFrameWork" would break my scripts.
Yes of course.
IMHO that is a bad experience for the user, because it is very
unintuitive
that I have to explicitly install something that's already installed to
ensure that it doesn't go away in the future.
But this is how all installs/uninstalls work and MUST work. If you
uninstall the software that you use, then you can't use it. It's a
simple necessity of life.
Sigh.
1) Install TurboGears, this installs simplejson as one of its dependencies
2) Notice that simplejson gets installed and is a useful module, then
use that in your own scripts
3) Uninstall TurboGears
With proposal of tracking which packages are installed as a dependency
of other packages and automaticly uninstalling them when the package
that depends on them gets uninstalled step 3 would break my scripts
unless I explictly tell the installer that I really want to use
simplejson in step 2.
You really need to evaluate the dependency graph when uninstalling, a
simple bit doesn't help.
Image step 2B above: install Yapper, which uses simplejson.
Even if step 3 wants to uninstall simplejson, it now needs to know that
other installed "module distributions" (as the term is used by
distutils) depend on it.
Eric.
_______________________________________________
Distutils-SIG maillist - [email protected]
http://mail.python.org/mailman/listinfo/distutils-sig