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

Phillip J. Eby pje at telecommunity.com
Thu Dec 7 20:47:12 CET 2006


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.  There are a whole bunch of different ways for you 
to install them so that they will be used only by your 
application.  "easy_install -md /path/to/plugins" is one of the simplest, 
but you can also drop .egg files directly there, or run a plugin's 
"setup.py develop -md /path/to/plugins" (which allows it to run from the 
source), etc.

Once you have plugins installed (or deposited) in a plugins directory, have 
your app use find_plugins(), add them to sys.path, and then just load the 
entry points:

http://peak.telecommunity.com/DevCenter/PkgResources#locating-plugins

Note that in both cases, the -m option (--multi-version) is important for 
installing or developing plugins, as that allows you to install to a 
non-sys.path directory and doesn't require .pth support.


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

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.  :)



More information about the Distutils-SIG mailing list