[Distutils] Using setuptools entry points at Google (and other places...)

primco primco at gmail.com
Tue Jun 26 08:24:43 CEST 2007

Phillip J. Eby wrote:
> At 05:45 PM 6/25/2007 -0700, Ben Bangert wrote:
>>Disclaimer: I don't work at Google, just talk to people who do.
>>I know some people at Google that would like to use Pylons there,
>>unfortunately this isn't quite possible as several parts of Pylons
>>require setuptools entry points. While setuptools can be installed,
>>due to Google's packaging system the run-time setuptools environment
>>has no entry points present, thus it falls down. I'm not sure how
>>many other companies might also have their own packaging systems that
>>also incur this problem, but I'm wondering if this can be remedied
> Just make sure that packages' .egg-info directory is installed 
> alongside the code; setuptools will do the rest.  See also:

Thanks Phillip. What's not clear to me is if there is also some versioning
mechanism. There seems to be two options for naming your egg-info. Let's
take the package Mako version 0.1.8, as it has a short name. 

If I do setup.py install with the --root option, it will install the package
Mako into the mako directory in my specified location and along side, it
will create a Mako-0.1.8-py2.4.egg-info directory. 

I'm assuming I can have that directory simply named mako.egg-info and remove
the version info from the filename.

Now, in Mako-0.1.8-py2.4.egg-info/top_level.txt is the line 'mako'. Is this
some sort of pointer to the package?

from the peak website: "....top_level.txt ... lists all top-level modules
and packages in the distribution. This is used by the easy_install command
to find possibly-conflicting "unmanaged" packages when installing the

Does this mean that I have a rough version control system where I could
have, in addition to this plain 'mako' folder that held version 0.1.8, I
could have a mako-0.1.7 distribution directory with a
Mako-0.1.7-py2.4.egg-info directory that had the pointer to mako-0.1.7 in
top_level.txt and setuptools would use this info to find the right version
of mako? 

In this case, if you did 'import mako' in python you'd get mako-0.1.8 but if
you used setuptools to find the package you could pick from 0.1.8 or 0.1.7?



View this message in context: http://www.nabble.com/Using-setuptools-entry-points-at-Google-%28and-other-places...%29-tf3979948.html#a11300508
Sent from the Python - distutils-sig mailing list archive at Nabble.com.

More information about the Distutils-SIG mailing list