After having to go through this again and again, I think it’s time to take some note for future references. A common buildout.cfg:-
[buildout]
newest = false
parts =
pylons
omelette
paster-serve
find-links = http://pylonshq.com/download/0.9.7
unzip = true
extensions = gp.vcsdevelop
vcs-extend-develop = git+git://github.com/countergram/PylonsTemplates.git#egg=PylonsTemplates
develop = clinic
[pylons]
recipe = zc.recipe.egg
interpreter = python
eggs =
nose>=0.11.1
Paste>=1.7.2
PasteScript>=1.7.3
PasteDeploy>=1.3.3
Pylons==0.9.7
SQLAlchemy==0.5.5
Jinja2==2.1.1 FormAlchemy==1.2.3
[omelette]
recipe = collective.recipe.omelette
eggs = ${pylons:eggs}
[paster-serve]
recipe = zc.recipe.egg
eggs = ${pylons:eggs}
arguments = args=['serve', '--reload', 'clinic/development.ini']
scripts = paster=run
The issue here is with the develop eggs, both in develop = and vcs-extend-develop. The buildout run fine, and in develop-eggs directory, I could see two eggs were created:-
clinic.egg-link PylonsTemplates.egg-link setuptools.egg-link
But those two eggs were nowhere in the list of included path within the custom interpreter script sys.path. Only then I realized that buildout just create the eggs. We need to explicitly ‘install’ the eggs in order to use it, just like any other eggs we have. So:-
[pylons]
recipe = zc.recipe.egg
interpreter = python
eggs =
nose>=0.11.1
Paste>=1.7.2
PasteScript>=1.7.3
PasteDeploy>=1.3.3
Pylons==0.9.7
SQLAlchemy==0.5.5
Jinja2==2.1.1
FormAlchemy==1.2.3
PylonsTemplates
clinic
Yup, we must enable the eggs in any eggs = for buildout that using zc.recipe.egg. Hopefully I won’t forget about this again next time.