[Python-Dev] How we can get rid of eggs for 2.6 and beyond

Phillip J. Eby pje at telecommunity.com
Sat Mar 22 16:19:17 CET 2008

At 12:33 PM 3/22/2008 +0100, Martin v. Löwis wrote:
>>I probably should have brought this up, in fact, I think I 
>>mentioned it in a previous thread, but I would like to see PEP 262 
>>add a way to say "this is a system-installed package, *don't 
>>touch*".  The idea again is not to do the job of the native 
>>packaging system, but rather to ensure that Python-specific tools 
>>(e.g. easy_install and friends) do not interfere or conflict with it.
>Something like a read-only flag?

Not exactly.  More like, "package management tool X claims exclusive 
rights to this package".  Python tools would always defer this right 
to the system packager, i.e. a system packager is not obliged to 
respect a Python tool's claim to a file, but not the other way around.

That way, system packaging tools don't need to do anything but mark 
the installed files as belonging to them.

Since most vendors at least *begin* with a "setup.py install", we 
could provide a way to indicate that the installation is being done 
on behalf of a system packaging tool, so that it can provide that indication.

>For those without the read-only flag, the specification should
>explicitly say what manipulation is allowed.

Since a distribution isn't really "mutable", I would think that 
uninstallation and reinstallation would be the only manipulation 
available.  (As distinct from inspection, verification, and other 
read-only activities.)

It's possible, though, that there might also be actions such as 
restoring or relocating scripts or data in shared locations outside 
of the sys.path directory.  That will get clearer as the spec gets defined.

More information about the Python-Dev mailing list