使用mysql的django上的syncdb错误

Posted

技术标签:

【中文标题】使用mysql的django上的syncdb错误【英文标题】:syncdb error on django using mysql 【发布时间】:2013-09-19 13:23:19 【问题描述】:

我是 django 的新手。 我正在使用 ubuntu 13.04

虽然我通过 phpmyadmin 创建了数据库,并且还在 settings.py 中输入了凭据 但是当我在控制台中输入时

python manage.py syncdb

我收到了这个错误

Traceback(最近一次调用最后一次):

文件“manage.py”,第 10 行,在

execute_from_command_line(sys.argv)

文件“/usr/local/lib/python2.7/dist-packages/django/core/management/init.py”,第 453 行,在 execute_from_command_line 中

utility.execute()

文件“/usr/local/lib/python2.7/dist-packages/django/core/management/init.py”,第 392 行,在执行中

self.fetch_command(subcommand).run_from_argv(self.argv)

文件“/usr/local/lib/python2.7/dist-packages/django/core/management/init.py”,第 272 行,在 fetch_command

klass = load_command_class(app_name, subcommand)

文件“/usr/local/lib/python2.7/dist-packages/django/core/management/init.py”,第 77 行,在 load_command_class

module = import_module('%s.management.commands.%s' % (app_name, name))

文件“/usr/local/lib/python2.7/dist-packages/django/utils/importlib.py”,第 35 行,在 import_module 中

__import__(name)

文件“/usr/local/lib/python2.7/dist-packages/django/core/management/commands/syncdb.py”,第8行,在

from django.core.management.sql import custom_sql_for_model, emit_post_sync_signal

文件“/usr/local/lib/python2.7/dist-packages/django/core/management/sql.py”,第9行,在

from django.db import models

文件“/usr/local/lib/python2.7/dist-packages/django/db/init.py”,第 40 行,

backend = load_backend(connection.settings_dict['ENGINE'])

文件“/usr/local/lib/python2.7/dist-packages/django/db/init.py”,第 34 行,在 getattr

return getattr(connections[DEFAULT_DB_ALIAS], item)

文件“/usr/local/lib/python2.7/dist-packages/django/db/utils.py”,第 93 行,在 getitem

backend = load_backend(db['ENGINE'])

文件“/usr/local/lib/python2.7/dist-packages/django/db/utils.py”,第 27 行,在 load_backend 中

return import_module('.base', backend_name)

文件“/usr/local/lib/python2.7/dist-packages/django/utils/importlib.py”,第 35 行,在 import_module 中

__import__(name)

文件“/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/base.py”,第17行,在

raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)

django.core.exceptions.ImproperlyConfigured:加载 MySQLdb 模块时出错:没有名为 MySQLdb 的模块

我尝试在 settings.py 中为数据库名称提供扩展名,但没有成功。 请建议该怎么做。 谢谢!

【问题讨论】:

【参考方案1】:

或者你可以这样做:

sudo apt-get install python-mysqldb

【讨论】:

【参考方案2】:

你的虚拟环境中是否安装了 mysql

试试

pip install MySQL-python

【讨论】:

以上是关于使用mysql的django上的syncdb错误的主要内容,如果未能解决你的问题,请参考以下文章

运行 Django 的 syncdb 时 OSX 10.7.3 上的 Postgresql 套接字错误

Django-MySQL 启用 Row_Format=使用 syncdb 压缩

Django 1.8 和 syncdb / migrate 的 auth_user 错误

Django:Syncdb 错误地警告多对多字段已过时

Django manage.py syncdb throwing No module named MySQLdb

更新到 1.4 后的 Django syncdb 异常