[Distutils] how to easily consume just the parts of eggs that are good for you

Stanley A. Klein sklein at cpcug.org
Wed Apr 9 04:49:26 CEST 2008


On Tue, April 8, 2008 9:37 pm, Ben Finney
<bignose+hates-spam at benfinney.id.au> wrote:
> Date: Wed, 09 Apr 2008 11:37:07 +1000
> From: Ben Finney <bignose+hates-spam at benfinney.id.au>
> Subject: Re: [Distutils] how to easily consume just the parts of eggs
> 	that	are	 good for you
> To: Distutils-Sig at Python.Org
>
>
> zooko <zooko at zooko.com> writes:
>
>> I am skeptical that prorgammers are going to be willing to use a new
>> database format. They already have a database -- their filesystem --
>> and they already have the tools to control it -- mv, rm, and
>> PYTHONPATH. Many of them already hate the existence the
>> "easy_instlal.pth" database file, and I don't see why a new database
>> file would be any different.
>
> Moreover, many of us already have a database of *all* packages on the
> system, not just Python-language ones: the package database of our
> operating system. Adding another, parallel, database which needs
> separate maintenance, and only applies to Python packages, is not a
> step forward in such a situation.
>
>> They both agreed that it made perfect sense. I told one of them
>> about the alternate proposal to define a new database file to
>> contain a list of installed packages, and he sighed and rolled his
>> eyes and said "So they are planning to reinvent apt!".
>
> That's pretty much my reaction, too.

I have the same reaction.  I don't install eggs (unless they are installed
through my operating system package manager) or use easy_install.  My
systems have rpms (for Fedora and CENTOS) and debs (for Ubuntu).  There
are also a Linux Standards Base and a Unix Filesystem Hierarchy Standard
(cited by the LSB) that rpms and debs generally enforce, but eggs often do
not.

I have tried in the past to use easy_install, but have run into problems
because there is no communication between easy_install and the rpm
database, resulting in failure of easy_install to recognize that
dependencies have already been installed using rpms.  Also, there are
tools provided with rpm and apt to perform functions such as querying
installed packages for their contents.  I use "rpm -qil" frequently to
find what files a package has installed on my system and where they are
installed.

A database focused only on Python packages is highly inappropriate for
Linux systems, violates the Linux standards, and creates problems because
eggs are not coordinated with the operating system package manager.  The
way to achieve a database for Python would be to provide tools for
conversion of eggs to rpms and debs, to have eggs support conformance to
the LSB and FHS, and to use rpm or apt for package management.


Stan Klein



More information about the Distutils-SIG mailing list