[Zope3-Users] Buildout and custom python

Jim Fulton jim at zope.com
Fri Dec 21 10:56:00 EST 2007


On Dec 20, 2007, at 8:58 PM, David Pratt wrote:

> Right. Thanks for this, there are couple of solutions here and shell  
> script is a reasonable solution but these methods seems counter to  
> the simplicity of buildout. I had also seen a rebootstrap package in  
> svn. I wonder if something similar could not be accomplished this  
> way using python with a means of producing a callback. I really  
> don't want anything too messy to accomplish this. Many thanks.


I'll note that much of the pain here (or at least in the distutils-sig  
thread)  arises from the fact that the system
Python and the custom Python have the same version but are built in  
incompatible ways. :(  Unfortunately, binary egg names don't capture  
enough information about the ways the eggs were built.

I'm pondering an option to provide different egg directories for  
different Python interpreters.  So, maybe something like:

   [buildout]
   parts = python24 ...

   [python24]
   recipe = zc.recipe.cmmi
   url = ...
   executable = ${buildout:parts-directory}/bin/python
   eggs-directory = ${buildout:directory}/eggs
   develop-eggs-directory = ${buildout:parts-directory}/develop-eggs

The idea is that egg-aware recipes would use the egg locations  
specified in the Python section.  I think this would provide a fairly  
clean way to build and use a custom Python.

Of course, it would be nice to have a recipe to build python that set  
the various variables.

I can see the benefit of building a custom Python as part of the  
buildout when you don't want users of a buildout to build a clean  
Python of their own.  However, if you can require your users to do  
this, for example, if you are your user, then life is much simpler  
when a clean Python is managed separately.

Jim

--
Jim Fulton
Zope Corporation




More information about the Zope3-users mailing list