[Distutils] different python versions in one buildout?!

Jim Fulton jim at zope.com
Thu Sep 2 14:53:07 CEST 2010

On Thu, Sep 2, 2010 at 6:39 AM, Godefroid Chapelle <gotcha at bubblenet.be> wrote:
> Le 30/08/10 19:27, Jim Fulton a écrit :
>> On Mon, Aug 30, 2010 at 1:06 PM, Chris Withers<chris at simplistix.co.uk>
>>  wrote:
>>> Gary Poster wrote:
>>>>> It's not like I want my system matplotlib in one part and a locally
>>>>> failing-horribly buildout-installed matplotlib in another part.
>>>> No, but single buildouts are used to install different sections with
>>>> entirely different requirements, including different Python versions.
>>> This feels like needless complexity to me.
>> This is a requirement we had here at ZC.  It wasn't
>> needless.
>>> If a different python is needed, it should be in its own buildout.
>>> If you need to bundle a bunch of buildouts together because of this, use
>>> a
>>> recipe that runs "sub buildouts" in a separate process...
>> It's possible that this would be a better approach.  It's true that
>> supporting multiple Python interpreters is a pain.  I don't have this
>> need atm, so I'm not motivated to try your solution. :)
>> I wonder what other people think.  Does anyone else have current
>> need to deal with multiple Python versions in the same buildout?
>> Jim
> I am developing vimpdb which I obviously want to be compatible with multiple
> python versions.
> I was planning to write  a single buildout to build the various testrunners.

I encourage you to try it and see how it works for you, and report back.

I've done this in the past, but:

- It was awkward for other developers who didn't have the same versions of
  Python installed and who didn't generally have the mind set to try to
  actively develop against multiple versions simultaneously.

- The fact that the recipes all run in the buildout process, and thus
  with whatever version of buildout was used, led to odd errors. For
  example the zc.testrunner recipe had (maybe still has) trouble
  generating test scripts for target Python versions different than what
  it was run with. (It didn't always have this problem.)


Jim Fulton

More information about the Distutils-SIG mailing list