gpt4 book ai didi

python - django - 加载 MySQLdb 模块时出错 : No module named MySQLdb

转载 作者:太空狗 更新时间:2023-10-30 02:12:54 26 4
gpt4 key购买 nike

我在 Win7 上使用 Django 1.4.1 和 Active Python 2.7。我已经使用 pypm install mysql-python 安装了 MySQL 模块。

数据库引擎是django.db.backends.mysql

import MySQLdb 在交互式 shell 中工作。

.\manage.py syncdb 创建表没有问题。

但是,当我在浏览器中打开网站时,我得到了加载 MySQLdb 模块时出错:没有名为 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 和消息应用程序的设置是:

SESSION_ENGINE = "django.contrib.sessions.backends.cached_db"
MESSAGE_STORAGE = "django.contrib.messages.storage.cookie.CookieStorage"

这怎么可能?

最佳答案

问题是 MySQLdb 安装在我的主目录 C:\Users\alexei\AppData\Roaming\Python\Python27\site-packages\ 中,它不在 Python 的路径中。所以我使用 pypm uninstall mysql-python 卸载了它,然后使用 pypm -g install mysql-python globally 重新安装它(注意 -g 选项)。

另一种方法是将该路径添加到 wsgi.py 中的 sys.path.append("...path...") 列表中

因此,如果有人想知道,您可以像这样找到 MySQLdb(或任何其他模块)的安装位置:

import MySQLdb
print MySQLdb.__file__

确保该路径在 Django 错误消息中提供的 Python 路径列表中。

关于python - django - 加载 MySQLdb 模块时出错 : No module named MySQLdb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12772687/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com