2009/11/23 Attila Oláh <span dir="ltr"><<a href="mailto:attilaolah@gmail.com">attilaolah@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">PIL is known to have issues with buildout. Your problem is that it<br>
puts it's files in <buildout>/eggs/PIL-#.#.#-py#.#-##.egg/, whereas it<br>
should put them in <buildout>/eggs/PIL-#.#.#-py#.#-##.egg/PIL/.<br>
<br>
As a workaround, you could run buildout like this (or put this in a<br>
shell script):<br>
<br>
./bin/buildout -N && mkdir `find eggs -iname PIL*.egg`/PIL && mv `find<br>
eggs -iname PIL*.egg`/*.* `find eggs -iname PIL*.egg`/PIL<br>
<br>
I know it looks rather ugly. I don't know if there's a better solution though.<br></div></blockquote><div>It's ugly but the problem is rather that I'd like to use buildout to avoid such things (it's my first buildout config). But thanks.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">
<br>
Why would you need 1.1.6? 1.1.7 should be a bugfix release anyway...</div></blockquote><div>Because 1.1.6 from repoze has correct structure. It has PIL in its egg.</div><div><br></div><div>This config installs both PILs 1.1.6 and 1.1.7:</div>
<div><br></div><div>[buildout]<br>parts = PIL django omlette cms-media<br><br>[PIL]<br>recipe = zc.recipe.egg<br>eggs = PIL==1.1.6<br>find-links = <a href="http://dist.repoze.org">http://dist.repoze.org</a><br><br>[django]<br>
recipe = djangorecipe<br>version = 1.1<br>project = project<br>eggs =<br> PIL<br> psycopg2<br> south<br> django-reversion<br> django-cms<br>wsgi = true<br>settings = production<br><br>[omlette]<br>recipe = collective.recipe.omelette<br>
eggs = ${django:eggs}<br><br>[cms-media]<br>recipe = svetlyak40wt.recipe.symlinks<br>path = project/media<br>files =<br> ${buildout:parts-directory}/omlette/cms/media/cms cms<br></div><div><br></div><div><br></div><div>
but this work as expected:</div><div><br></div><div>[buildout]<br>parts = PIL django omlette cms-media<br><br>[PIL]<br>recipe = zc.recipe.egg<br>eggs = PIL==1.1.6<br>find-links = <a href="http://dist.repoze.org">http://dist.repoze.org</a><br>
<br>[django]<br>recipe = djangorecipe<br>version = 1.1<br>project = project<br>eggs =<br> PIL == 1.1.6<br> psycopg2<br> south<br> django-reversion<br> django-cms<br>wsgi = true<br>settings = production<br>
<br>[omlette]<br>recipe = collective.recipe.omelette<br>eggs = ${django:eggs}<br><br>[cms-media]<br>recipe = svetlyak40wt.recipe.symlinks<br>path = project/media<br>files =<br> ${buildout:parts-directory}/omlette/cms/media/cms cms<br>
</div><div><br></div><div>So it's solved. Buildout was installing two different versions of PIL, one for PIL part (1.1.6) and another one for django part (1.1.7). After I added specific version to PIL in django it works :D</div>
<div><br></div><div>One more question. Why after I added eggs = psycopg2 just after [buildout] buildout reported that it is omitting unused eggs in [buildout]? I had to move psycopg2 to eggs in djangopart.</div><div><br></div>
<div>Jakub</div>