Recently, the ndb graduated and its python module changed from ndb to google.appengine.ext.ndb. Webapp2 is bundled along with the SDK of appengine, but it seems they forgot to update some modules in it, and they still use the previous package.
I encountered it when I tried to debug my application locally, using the webapp2 user & authentication module, the application crashes from the bad import. When you deploy the application to the appengine server, you must provide a version of the webapp2, which overrides this problem (this worked as a workaround for me at least), thus the problem will not occur. But locally, you must go the installation directory of the appengine and delete it manually.
I spotted this bug roughly a month ago (23/12/2011), and there may be some fixes on the mainstream webapp2 release.
Update (18/2/2012): The problem still persists in version 1.6.2 of the appengine SDK for python.