0
votes

I'm trying to install South in Django. I'm doing relatively simple steps.

I'm running on Dreamhost (which uses Passenger WSGI) in a virtual environment using Virtualenv. The virtual environment uses Python 2.7.3 and Django 1.4.2.

First I did, in the same directory that has the manage.py file, easy_install South. (v 0.7.6-py2.7)

Then I went into my one and only settings.py, and made the INSTALLED_APPS look like this:

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.admin',
    'blog',
    'South', # i tried lowercase 's' here too, no difference
)

Then I ran pkill pyton so changes kick in. I refresh my website, and I get a 500 Internal Server Error. If I remove 'South' from INSTALLED_APPS and pkill python and refresh again, the error goes away.

I'm able to use the South tool to perform migrations and all that stuff. Everything works in the terminal. Just when I load the site in my browser, I get the 500 error. Removing south from installed apps gets rid of the error.

What could I have done wrong?

2
How do you expect to debug without anything to reference? Get your server logs. - Yuji 'Tomita' Tomita
@YujiTomita my error.logs file always says the same default error for 500 errors: "premature end of script headers" - Snowman
@YujiTomita how can I get more useful logs? - Snowman
ouch, that's going to be a huge problem to figure out any problems. I've gotten that problem before in rare instances... Research points to something wrong with your server setup. Sorry, can't help much! - Yuji 'Tomita' Tomita

2 Answers

0
votes

To debug this, first turn on debug=True in Django settings.

Also south is 'south' with a lower s.

To check if it properly works, you can do

./manage.py shell
>> import south

This way you'll get an error python shell and you'll see what's going on.

0
votes

So I was able to get it working. It was a strange fix, but it worked.

I used easy_install to install South, and it placed it in the following directory:

/env/lib/python2.7/site-packages/South-0.7.6-py2.7.egg

If you open up that egg folder, you'll see another directory called south.

All I did was move that south folder one directory up, in site-packages.

That's it. It just started working after that.