[Distutils] SETUPTOOLS - Loading Eggs which do not have an egg_info
Ilias Lazaridis
ilias at lazaridis.com
Fri Dec 8 17:24:00 CET 2006
Phillip J. Eby wrote:
> At 09:03 PM 12/7/2006 +0200, Ilias Lazaridis wrote:
>> This is a special and limited use-case:
>>
>> The eggs do *not* need to be found by other eggs/applications, as they
>> are used only by the application that loads them in.
>
> That's 100% irrelevant.
ok
> There are a whole bunch of different ways for you
> to install them
[...]
I understand.
Flexibility is very nice.
But simplicity, too.
My requirement is to have no additional installation steps after an
svn-checkout (or unzip).
>> Thus I just want to create the egg representation in my code (to call
>> the entry_points), whilst using the information from setup.py/sources
>> (instead of the generated egg_info).
>
> I still don't get why you can't run "develop", "egg_info", or build .egg
> files. If the answer is simply that you don't want to, I'd suggest getting
> over it. :) If there's some other reason, you haven't shared it with me yet.
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".
> I suspect, however, that the actual problem is that you're not aware of one
> or more of the several other ways to implement plugins... that all actually
> work. :)
Trac uses setuptools as it's plugin mechanism, thus I have to deal with
eggs in my use case. Most (if not all) of those plugins just use the
basic constructs of setuptools.
In my use-case, a loader retrieves all 2nd-level directories from within
a folder and loads the eggs:
http://dev.lazaridis.com/base/browser/infra/tracx/loader-draft-test.py?rev=171
I had initially placed the egg-info-generation within this code, but
this leads to problems with permissions etc. - and: it's redundant.
-
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.
-
How does this read:
Setuptools allows you to use simple python packages as eggs, without the
need to generate an egg-info. This is especially usefull in development
environments or in environments with a high amount of plugins.
The information needed will be retrieved from within the setup.py file.
If a feature requires generation of the egg-info, you'll recieve either
an warning, and error or the egg-info will be generated automaticly
(depending on configuration).
This way, any folder which contains an setup.py file containing the
configuration can serve as an "raw egg".
.
--
http://lazaridis.com
More information about the Distutils-SIG
mailing list