Django stops working with RuntimeError: populate() isn’t reentrant

This is caused by a bug in your Django settings somewhere. Unfortunately, Django’s hiding the bug behind this generic and un-useful error message.

To reveal the true problem, open django/apps/registry.py and around line 80, replace:

raise RuntimeError("populate() isn't reentrant")

with:

self.app_configs = {}

This will allow Django to continue loading, and reveal the actual error.

I’ve encountered this error for several different causes. Once was because I had a bad import in one of my app’s admin.py.

Leave a Comment