4
votes

After installing of Django I get this error message (when I want to run migrations or runserver):

There is no South database module 'south.db.mysql' for your database. Please either choose a supported database, check for SOUTH_DATABASE_ADAPTER[S] settings, or remove South from INSTALLED_APPS.

I dont want to use South and it is also not defined in INSTALLED_APPS . Why am I getting this error?

3
you need to post more information, maybe a full stacktrace for the above error - Anentropic
@Anentropic , this is the full message. - Alex
do you have SOUTH_DATABASE_ADAPTER defined in settings? - Anentropic
I am getting this error. - Sundar

3 Answers

9
votes

I got the same error. It is resolved by removing south from your environment , by running pip uninstall south

1
votes

Turns out South got installed after all because of some dependency, and seems to be incompatible with current Django (1.82)

Solution that worked for me was to downgrade Django:

$ pip install -U "Django==1.7"

(ps. I didn't need to define anything about South in settings, so it is not used, but probably some installed app is looking for it anyway..)

1
votes

I recreated this issue by doing these steps:

  1. Installed django1.5 and south.
  2. With the environment, Created a django project.
  3. Upgrade django1.5 to django1.82

Now in runserver, I've There is no South database module 'south.db.mysql' for your database. Please either choose a supported database, check for SOUTH_DATABASE_ADAPTER[S] settings, or remove South from INSTALLED_APPS.

Possible solution:

  1. Uninstall south if you are in django1.82
  2. Downgrade your django, where south is a different package.