I'm using Django 1.4.1 with Active Python 2.7 on Win7. I have installed the MySQL module using pypm install mysql-python
.
The database engine is django.db.backends.mysql
.
import MySQLdb
works in the interactive shell.
.manage.py syncdb
created the tables with no problem.
However, when I open the site in the browser, I get Error loading MySQLdb module: No module named MySQLdb
:
Environment:
Request Method: GET
Request URL: http://whatever/
Django Version: 1.4.1
Python Version: 2.7.2
Installed Applications:
('django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.messages.middleware.MessageMiddleware')
Traceback:
File "C:Python27libsite-packagesdjangocorehandlersase.py" in get_response
89. response = middleware_method(request)
File "C:Python27libsite-packagesdjangocontribsessionsmiddleware.py" in process_request
10. engine = import_module(settings.SESSION_ENGINE)
File "C:Python27libsite-packagesdjangoutilsimportlib.py" in import_module
35. __import__(name)
File "C:Python27libsite-packagesdjangocontribsessionsackendscached_db.py" in <module>
6. from django.contrib.sessions.backends.db import SessionStore as DBStore
File "C:Python27libsite-packagesdjangocontribsessionsackendsdb.py" in <module>
3. from django.db import IntegrityError, transaction, router
File "C:Python27libsite-packagesdjangodb\__init__.py" in <module>
40. backend = load_backend(connection.settings_dict['ENGINE'])
File "C:Python27libsite-packagesdjangodb\__init__.py" in __getattr__
34. return getattr(connections[DEFAULT_DB_ALIAS], item)
File "C:Python27libsite-packagesdjangodbutils.py" in __getitem__
92. backend = load_backend(db['ENGINE'])
File "C:Python27libsite-packagesdjangodbutils.py" in load_backend
24. return import_module('.base', backend_name)
File "C:Python27libsite-packagesdjangoutilsimportlib.py" in import_module
35. __import__(name)
File "C:Python27libsite-packagesdjangodbackendsmysqlase.py" in <module>
16. raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
Exception Type: ImproperlyConfigured at /
Exception Value: Error loading MySQLdb module: No module named MySQLdb
The settings for the sessions and messages apps are:
SESSION_ENGINE = "django.contrib.sessions.backends.cached_db"
MESSAGE_STORAGE = "django.contrib.messages.storage.cookie.CookieStorage"
How is this possible?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…