<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hey folks,<div><br></div><div><butt_covering></div><div>I've googled around, hit IRC, and tried a bunch of stuff to fix this. Even so, maybe I missed something obvious. Sorry if this question is redundant.</div><div></butt_covering></div><div><br></div><div>I'm using buildout to install a series of python modules, each of which is dependent on the others *at build time.* For example, numpy, then scipy. If I try to build scipy without numpy around, the scipy build fails complaining about not being able to find "numpy.distutils...". I can include the full text of the error here, but get the feeling that you either know what I'm talking about or not by this point.</div><div><br></div><div>There doesn't seem to be a way to do this cleanly using buildout. Instead, I have had to put .tar.gz versions of each of the libraries in my repo along with bootstrap.py, and am installing them using a step like this:</div><div><br></div><div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div>[numpy]</div><div>recipe = collective.recipe.cmd</div><div>cmds = </div><div><span class="Apple-tab-span" style="white-space:pre">    </span>mkdir tmp_numpy</div><div>  <span class="Apple-tab-span" style="white-space:pre">       </span>cd tmp_numpy</div><div>  <span class="Apple-tab-span" style="white-space:pre">  </span>tar -xzvf ${buildout:packages}/numpy-1.7.0.tar.gz</div><div>  <span class="Apple-tab-span" style="white-space:pre">     </span>${buildout:directory}/bin/buildout setup numpy-1.7.0 install</div><div>  <span class="Apple-tab-span" style="white-space:pre">  </span>cd ../</div><div>  <span class="Apple-tab-span" style="white-space:pre">        </span>rm -rf tmp_numpy</div><div>on_install = true</div><div>on_update = true</div></div></blockquote><br></div><div>... obviously, this won't fly if I don't have sudo access, so I'm having to run buildout inside of a virtualenv. Blah blah blah, I can go into the gory details if you want, but the bottom line things that I dislike about this are:</div><div><br></div><div>1) I have to include the packages in the repo.</div><div>2) I'm going to have to teach my labmates how to use virtualenv AND buildout.</div><div>3) After I install them this way, I have to install them again as follows in order to get a linked interpreter:</div><div><br></div><div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div>[pyscripts]</div><div>recipe = zc.recipe.egg:scripts</div><div>dependent-scripts = true</div><div>eggs = numpy</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>     scipy</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>     networkx</div><div><span class="Apple-tab-span" style="white-space:pre">      </span>     pydicom</div><div><span class="Apple-tab-span" style="white-space:pre">       </span>     traits</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>     wsgiref</div><div><span class="Apple-tab-span" style="white-space:pre">       </span>     nibabel</div><div><span class="Apple-tab-span" style="white-space:pre">       </span>     nipype</div></div></blockquote><br></div><div>SO. Please, tell me that I'm stupid and that I've missed something obvious.</div><div><br></div><div>tl;dr: how to handle build time dependencies between python modules using buildout, without looking stupid or including .tar.gz files in my repo.</div><div><br></div><div>Thanks for your time and good work,</div><div><br></div><div>Ben</div></body></html>