Using zc.recipe.cmmi with zc.recipe.egg
gp.recipe.node is nice, and it depends on zc.recipe.cmmi and zc.recipe.egg at the same time. If those two got installed into dirs like these:
eggs/zc.recipe.egg-1.3.2-py2.7.egg/zc/recipe/
eggs/zc.recipe.cmmi-1.3.5-py2.7.egg/zc/recipe/
. . you'll get an error like this:
% bin/node
Traceback (most recent call last):
File "bin/node", line 17, in <module>
import gp.recipe.node.script
File "eggs/gp.recipe.node-0.2-py2.7.egg/gp/recipe/node/__init__.py", line 5, in <module>
from zc.recipe.egg import Scripts
ImportError: No module named egg
A fix is to replace eggs/zc.recipe.cmmi-1.3.4-py2.7.egg/zc/recipe/__init__.py with these contents:
__import__('pkg_resources').declare_namespace(__name__)
import pkgutil
__path__ = pkgutil.extend_path(__path__, __name__)
Next, I wish gp.recipe.node would run node in a way that replaces its own process, instead of running a child. Then supervisord would have an easier time killing the node process.