When I use collective.hostout in my buildout it pulls in functools as a dependency. This seems to conflict with the builtin functools. In fact the bin/hostout command does not work at all.
Running bin/hostout gives the following output
Traceback (most recent call last):
File "bin/hostout", line 16, in <module>
import collective.hostout.hostout
File "/home/me/plone/buildout-cache/eggs/collective.hostout-0.9.4-py2.7.egg/collective/__init__.py", line 1, in <module>
__import__('pkg_resources').declare_namespace(__name__)
File "/home/me/plone/buildout-cache/eggs/setuptools-24.3.0-py2.7.egg/pkg_resources/__init__.py", line 29, in <module>
import functools
File "/home/me/plone/buildout-cache/eggs/functools-0.5-py2.7-linux-x86_64.egg/functools.py", line 72, in <module>
globals()['c_%s' % x] = globals()[x] = getattr(_functools, x)
AttributeError: 'module' object has no attribute 'compose'
To solve the problem I actually remove the functools egg that was pulled in by buildout. Using a command like this:
rm -rf /path/to/eggs/eggs/functools-*
ONLY after removing functools does the bin/hostout command work for me. I currently remove functools each time I run buildout!