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

Reply via email to