buildout and issues with dependencies and patch.
Hi, I am currently trying to get buildout as my default deploy system however, I'm facing two issues for which I don't understand buildout well enough and for which I haven't found answers on the net. My first issue is I need to get both numpy and matplotlib installed. So I added both to the eggs section of buildout. numpy seems to get downloaded and installed fine, however, matplotlib won't. The latest complains numpy isn't installed. At this point, my guesses - after investigations - are that matplotlib checks numpy availability by importing it. However, as buildout has not set the numpy egg in the path, matplotlib fails and ends. I have noticed there's a way to set headers and library path for compilers but I can't find a way to set the numpy's egg path, even when I move matplotlib to a section with the egg receipe. Does someone know a way to get numpy eggs prepend to the paths so that matplotlib can detect it ? My second question is, I also want to install pysvn. This package needs a patch to be setuptool friendly. I would like to know if there's a simple way within the buildout.cfg file to apply a patch to a package before it gets eggified ? Regards, Xavier.
Hi,
I am currently trying to get buildout as my default deploy system however, I'm facing two issues for which I don't understand buildout well enough and for which I haven't found answers on the net.
My first issue is I need to get both numpy and matplotlib installed. So I added both to the eggs section of buildout. numpy seems to get downloaded and installed fine, however, matplotlib won't. The latest complains numpy isn't installed. At this point, my guesses - after investigations - are that matplotlib checks numpy availability by importing it. However, as buildout has not set the numpy egg in the path, matplotlib fails and ends. I have noticed there's a way to set headers and library path for compilers but I can't find a way to set the numpy's egg path, even when I move matplotlib to a section with the egg receipe.
Does someone know a way to get numpy eggs prepend to the paths so
My second question is, I also want to install pysvn. This package needs a patch to be setuptool friendly. I would like to know if
On Mon, Jul 5, 2010 at 11:30 AM, Xavier Ordoquy <xordoquy@linovia.com> wrote: that matplotlib can detect it ? matplotlib is problematic for buildout due to the introspection it does. I haven't found a good solution. What I've done in the past is to make a not-so-clean Python (or virtualenv) that has numpy installed and then use buildout with that to install matplotlib. (Another work-around occurs to me, which I will try and report back. :) there's a simple way within the buildout.cfg file to apply a patch to a package before it gets eggified ? I think there are some recipes that apply patches. I haven't tried them myself. http://pypi.python.org/pypi?%3Aaction=search&term=buildout+recipe+patch Jim -- Jim Fulton
Jim Fulton wrote:
matplotlib is problematic for buildout due to the introspection it does. I haven't found a good solution. What I've done in the past is to make a not-so-clean Python (or virtualenv) that has numpy installed and then use buildout with that to install matplotlib.
(Another work-around occurs to me, which I will try and report back. :)
I've had success by building matplotlib and numpy binary eggs for each platform you want to deploy on by: - unpacking the source distro - python setup.py bdist_egg (can't remember the exact incantation here) - putting the resulting egg somewhere that a --find-links or buildout equivalent can find.
My second question is, I also want to install pysvn.
I would avoid using pysvn if at all possible. I've had serious problems with this being compiled against one set of svn libraries which the "real" client being used was compiled against another. Because of SVN's propensity for changing their working copy format with *every f'ing point release* this becomes extremely frustrating. I tend to just shell out to the svn command and process the returned results with execute: http://packages.python.org/execute/ cheers, Chris -- Simplistix - Content Management, Batch Processing & Python Consulting - http://www.simplistix.co.uk
On 07/06/2010 03:21 PM, Jim Fulton wrote:
On Mon, Jul 5, 2010 at 11:30 AM, Xavier Ordoquy<xordoquy@linovia.com> wrote:
Does someone know a way to get numpy eggs prepend to the paths so
that matplotlib can detect it ?
matplotlib is problematic for buildout due to the introspection it does. I haven't found a good solution. What I've done in the past is to make a not-so-clean Python (or virtualenv) that has numpy installed and then use buildout with that to install matplotlib.
I've also installed numpy globally ("apt-get install ....."). I'm currently experimenting with a recipe that first looks up several named eggs globally. Only if they're not available yet, does it install them regularly through buildout. So something like: [buildout] ... parts = sysegg ... [sysegg] recipe = osc.recipe.sysegg force-sysegg = eggs = numpy It seems to work quite well. I'm hoping it helps me with the packages that install just fine on linux and not on windows or vice versa. You only have to install global versions of just the once that fail, that way. Reinout -- Reinout van Rees - reinout@vanrees.org - http://reinout.vanrees.org Programmer at http://www.nelen-schuurmans.nl "Military engineers build missiles. Civil engineers build targets"
participants (4)
-
Chris Withers -
Jim Fulton -
Reinout van Rees -
Xavier Ordoquy