[Python-Dev] "setuptools has divided the Python community"

P.J. Eby pje at telecommunity.com
Thu Mar 26 00:26:32 CET 2009


At 11:35 AM 3/25/2009 -0500, Olemis Lang wrote:
>Yes you're right, Trac requires .egg files for local plugins installs
>(... in /plugins folder ;) so that not all environments but only one
>be able to use the plugin ... but that's not exactly what I'm saying,
>since setuptools AFAIK *MUST* be already there ... so Trac depends on
>setuptools.

It depends on pkg_resources, which you can manually extract from the 
setuptools package if you like.  I believe there may be some distros 
that actually do this, with separate system packages for "setuptools" 
(really pkg_resources) and setuptools-devel (the setuptools.* code) 
-- in which case you can have pkg_resources installed without the 
rest of setuptools being present.


> > If you install a plugin from source using pip
>
>Like you said setuptools is already there ... pip depends on
>setuptools ... isn't it?

Yes, but that doesn't make *Trac* dependent on setuptools, 
particularly in the system package manager case.


> > or a system package manager,
> > no .egg file is involved -- you'll have an .egg-info directory instead,
> > alongside the installed code.  The pkg_resources API for accessing entry
> > points works with either .egg files or .egg-info directories.
> >
>
>Like I just said setuptools AFAIK *MUST* be there ... isnt it ? Am I
>still wrong ?

Not on the system using the package manager, no.  (By 'setuptools' 
I'm refering to the setuptools.* modules, not the setuptools 
distribution...  which is just another byproduct of our globally 
confusing terminology for these things.)


>BTW ... if you (or anyone else ;) suggests me another pkg «like»
>setuptools (supporting entry points and so on ...) so that I can try
>how to install and use Trac plugins without setuptools + pkg_* in the
>middle ... I'll be open to try it out ... and learn a little ;)

You'd need pkg_resources, and if you're not using setuptools to 
initially generate the files to install, you'd have to create the 
entry point files by hand, following the EggFormats documentation I 
linked to previously.



More information about the Python-Dev mailing list