I’m running django on Dreamhost right now with fastcgi, and I’m getting really weird behavior. First, the server runs Python 2.3. On my computer, I’m running 2.6 and all my source code works. When I put it on my host though, nothing works. Right now, when I pkill python and then load a page, the first error complains about a syntax error at ‘class Item_list()’ line:
from dtms.models import *
class Item_list():
def __init__(self, list = None, house_id = None):
self.list = list
self.house_id = house_id
def ret_list(self):
return self.list
Then, if I reload it again without changing anything, I get this error:
Django Version: 1.1 alpha 1 SVN-10114 Python Version: 2.3.5 Installed Applications: ['django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.admin', 'mysite.dtms'] Installed Middleware: ('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware')Traceback: File "/home/victor/django/django_src/django/core/handlers/base.py" in get_response 82. callback, callback_args, callback_kwargs = resolver.resolve( File "/home/victor/django/django_src/django/core/urlresolvers.py" in resolve 184. for pattern in self.url_patterns: File "/home/victor/django/django_src/django/core/urlresolvers.py" in _get_url_patterns 212. raise ImproperlyConfigured("The included urlconf %s doesn't have any" Exception Type: ImproperlyConfigured at /dtms/login/ Exception Value: The included urlconf mysite.urls doesn't have anypatterns in it
Any ideas?
You can’t include an empty inheritance list in Python 2.3. There seems to have been a change in the grammar that allows it now but not then.
It would normally be written:
if you don’t want any base classes. But generally these days you’d want to derive from object to get new-style classes.
I don’t know much about your deployment environment, but in general when you’ve tried to import something and got an exception, it can leave behind partially-initialised modules in sys.modules that will frustrate future attempts to import them, resulting in otherwise inexplicable errors where properties and actions of the module are not where they were expected.
In general once an import has failed you should consider the environment lost and start again, but I don’t know how your Django deployment copes with errors like that and process-restarting issues. Maybe the original error has left an interpreter running without having written the expected stuff to url_patterns, or something.