[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
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