I had quite a bit of trouble with errors like this:

 AttributeError: 'module' object has no attribute 'get_ancestors'

I was moving to a new host and even though I had tested the exact same setup, and created a fresh virtualenv with my requirements according to best practices, I still had dependency problems with Django-mptt.

It's not obvious from discussions like this (at least to a Django newb), but Django-cms includes it's own copy of MPTT. But if you use pip to install Django, it'll bundle mptt-0.4.2. You don't want this.

To fix, simply uninstall the site package to use the provided version:

 pip uninstall django-mptt

You might need to also update Django-cms, since the MPTT version that it provides might have been overwritten.

It's worth mentioning that Django-cms plans to fix this soon, hopefully in 1.2.

blog comments powered by Disqus