[Distutils] SETUPTOOLS - Loading Eggs which do not have an egg_info

Ilias Lazaridis ilias at lazaridis.com
Fri Dec 8 19:24:00 CET 2006

Phillip J. Eby wrote:
> At 06:24 PM 12/8/2006 +0200, Ilias Lazaridis wrote:
>> My requirement is to have no additional installation steps after an
>> svn-checkout (or unzip).
> Then generate the .egg-info before committing to SVN, or use the "sdist" 
> command to create your source zipfiles or tarballs, and all will be well.

There is still redundancy (and an additional step).

>> The reason is "reduncancy", which I like to avoid.
>> For simple plugins, the information is already given within "setup.py",
>> thus duplicating it into an egg-info is "duplicating information".
> Perhaps you should then also patch Python to avoid generating .pyc and .pyo 
> files, since these are redundant in the same way and for the same reason.  :)

I understand this analogy, but I think you exaggregate here.

>> As said, as a user I am very happy with setuptools. As a developer, I
>> would like to have more simplicity for simple use cases. I think
>> removing the need for an egg-info would be the first step.
> Generated egg-info is a feature, not a bug.  Note that in order to use the 
> information from the setup.py, you must import huge amounts of setuptools 
> and distutils code, whereas normal egg operations require only the single 
> pkg_resources module.

The information in setup.py (at least for simple eggs/plugins) is simple 

Retrieving a few values directly from the setup.py (instead from an 
egg-info) would be fast and without any dependency.

> If a project uses custom egg-info or other setuptools extensions, you must 
> import those as well.  All of this, to avoid writing some data to disk that 
> could then be read simply and directly without involving any of those other 
> imports!  The redundancy you're complaining about is a major enhancement to 
> startup performance.

eggs can cover 'light' needs and 'heavy' needs.

Possibly for the 'heavy' needs its an enhancement.

But for the 'light' needs, the overall overhead is (from my point of 
view) inacceptable.

I go even a step further: I think python is powerfull enouth to do all 
this 'natively' (e.g. module attributes etc.), an without a major speed 
loss, even in more complex cases.

> As I've said, an ability to auto-generate egg_info if a setup.py is newer 
> than the corresponding PKG-INFO might be a useful feature.  However, trying 
> to do without generating it at all, simply isn't going to happen.

I understand.

Thus the only way to avoid "egg-info" is to avoid setuptools.


I am collecting requirements on this page, possibly you are interested:




More information about the Distutils-SIG mailing list