As a test, I supply deserialize() with an invalid email address and wanted to get the error messages:
Traceback (most recent call last):
File "pym/dd/usrmgr.py", line 212, in <module>
print exc
File "/home/dm/myprojects/Pyramid-1.1/lib/python2.7/site-packages/colander/__init__.py", line 159, in __str__
return pprint.pformat(self.asdict())
File "/home/dm/myprojects/Pyramid-1.1/lib/python2.7/site-packages/colander/__init__.py", line 153, in asdict
errors['.'.join(keyparts)] = '; '.join(interpolate(msgs))
TypeError: sequence item 0: expected string, list found
It's colander 0.9.3.