我在Win7上使用Django 1.4.1和Active Python 2.7。我已經使用pypm install mysql-python
安裝了MySQL模塊。數據庫引擎django.db.backends.mysql
。django - 加載MySQLdb模塊時出錯:沒有名爲MySQLdb的模塊
import MySQLdb
在交互式shell中工作。
.\manage.py syncdb
創建表沒有問題。
然而,當我打開瀏覽器的網站,我得到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:\Python27\lib\site-packages\django\core\handlers\base.py" in get_response
89. response = middleware_method(request)
File "C:\Python27\lib\site-packages\django\contrib\sessions\middleware.py" in process_request
10. engine = import_module(settings.SESSION_ENGINE)
File "C:\Python27\lib\site-packages\django\utils\importlib.py" in import_module
35. __import__(name)
File "C:\Python27\lib\site-packages\django\contrib\sessions\backends\cached_db.py" in <module>
6. from django.contrib.sessions.backends.db import SessionStore as DBStore
File "C:\Python27\lib\site-packages\django\contrib\sessions\backends\db.py" in <module>
3. from django.db import IntegrityError, transaction, router
File "C:\Python27\lib\site-packages\django\db\__init__.py" in <module>
40. backend = load_backend(connection.settings_dict['ENGINE'])
File "C:\Python27\lib\site-packages\django\db\__init__.py" in __getattr__
34. return getattr(connections[DEFAULT_DB_ALIAS], item)
File "C:\Python27\lib\site-packages\django\db\utils.py" in __getitem__
92. backend = load_backend(db['ENGINE'])
File "C:\Python27\lib\site-packages\django\db\utils.py" in load_backend
24. return import_module('.base', backend_name)
File "C:\Python27\lib\site-packages\django\utils\importlib.py" in import_module
35. __import__(name)
File "C:\Python27\lib\site-packages\django\db\backends\mysql\base.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
爲會議和消息應用程序的設置是:
SESSION_ENGINE = "django.contrib.sessions.backends.cached_db"
MESSAGE_STORAGE = "django.contrib.messages.storage.cookie.CookieStorage"
這怎麼可能?
如果您在不重新啓動Web服務器的情況下安裝了MySQLdb,它可能還沒有啓動它。 –
我有一個腳本,檢查更改自動重新啓動服務器。但是沒關係,我已經找到了問題,並會發佈一個答案。 – Alexei
啊,現在我意識到我沒有正確閱讀你的評論。我使用的是mod_wsgi的Apache,而不是Django附帶的開發服務器。 MySQLdb模塊幾天前安裝完畢,所以這不成問題。 – Alexei