[Distutils] RFC : PEP 376 - egg.info

David Lyon david.lyon at preisshare.net
Thu Apr 30 16:17:42 CEST 2009


Hi David,

On Thu, 30 Apr 2009 22:24:07 +0900, David Cournapeau
<david at ar.media.kyoto-u.ac.jp> wrote:

> It is impossible to uninstall a package if you don't have a recording of
> what was installed. 

Not true.

> Removing every directories is a bad idea, as it may
> remove files which were not installed by the package. 

In python, packages go into their own unique directories
or .egg files.

> No packaging system does that. That's actually one of the very few 
> rules which is followed by any installation method, be it windows 
> installer, linux packages, etc...

I don't disagree with your statement.

However, the packaging system you are talking about didn't follow
the abovementioned rules when it was designed.

Forcing it to "behave" like others when it wasn't designed to
work that way in the first place won't give you the desired
results. 

I've been tracing through the old code....

There is much inner beauty in that old code...

It seems illogical to me that on the one hand, programmers are
told at conferences to delete package directories manually, and
then here... people are discouraged from doing it programmatically.

Anyway, I'm not going to discuss this with you guys too much more.

All I was doing was sharing my experience because I have been
debugging the python interpreter lately and seeing how the
packaging stuff works.

In summary... packages are just directories with an __init__.py
file in them. Sometimes they are zipped into eggs.

If directories get deleted, the python interpreter doesn't care.

It moves right along. (down the python-path list)

You can try putting more formality and burdens on the developer
when they are trying to build a package (a directory). But
somehow it goes against the simplicity of the 'old code'.

Don't forget....

the whole point of "python setup.py" is to tell python to
go "build a whole lot of stuff".. "and put it away"

Now.. what you are saying is that you don't want that paradigm
anymore... you want it to be changed to "here are all the
files in a nice manifest" paradigm.

The "new" paradigm is not pythonic....

It only works when you have all the files/drivers already
built and you want them "plonked" in the right places.

Anyway... I'm just bouncing feedback to your ideas...

Discussing in the spirit of sharing ideas...

David



More information about the Distutils-SIG mailing list