[Distutils] tracking requested vs dependency installs in PEP 376 metadata
ronaldoussoren at mac.com
Sun Oct 11 21:30:20 CEST 2009
On 11 Oct, 2009, at 20:58, Lennart Regebro wrote:
> 2009/10/11 Ronald Oussoren <ronaldoussoren at mac.com>:
>>>> 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
>>>> a setup.py or other explicit dependency information), and yet later
>>>> to uninstall "SuperWebFramework". If I understand the proposal
>>>> the uninstallation of "SuperWebFrameWork" would break my scripts.
>>> Yes of course.
>> IMHO that is a bad experience for the user, because it is very
>> 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.
1) Install TurboGears, this installs simplejson as one of its
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.
That's what I meant by "I have to explictly install something that is
already installed to ensure that it doesn't go away in the future",
and this is not a useful behaviour.
>> This might work in a serious
>> development environment, but can end up to be very annoying and
>> for casual users.
> Can you come up with something better? How will the packaging registry
> know that you want a particular package installed if you don't tell
The current proposal without tracking if I explicitly installed a
package works fine and matches how system package managers work.
This does make it harder to uninstall something like TurboGears that
installs lots of dependencies, but it should be possible to write a
tool that makes that easier. One way to do this in a GUI-ish manner is
to have a "show dependencies" checkbox when you uninstall a package,
this would then show all dependencies and allow easy selection of them
This gets you simular functionality as tracking explictly requested
installs without needing additional metadata.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 3567 bytes
Desc: not available
More information about the Distutils-SIG