2012-09-03 69 views
2

我想设置MySQL,似乎无法进入Django manage.py shell解释器。我确实安装了MySQL-python,但没有解决问题。Django 1.4.1错误加载MySQLdb模块时尝试'python manage.py shell'

获得以下的输出:


rrdhcp-10-32-44-126:django pavelfage$ python manage.py shell 
Traceback (most recent call last): 
    File "manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/__init__.py", line 443, in execute_from_command_line 
    utility.execute() 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/__init__.py", line 382, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/base.py", line 196, in run_from_argv 
    self.execute(*args, **options.__dict__) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/base.py", line 232, in execute 
    output = self.handle(*args, **options) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/base.py", line 371, in handle 
    return self.handle_noargs(**options) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/commands/shell.py", line 45, in handle_noargs 
    from django.db.models.loading import get_models 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/__init__.py", line 40, in <module> 
    backend = load_backend(connection.settings_dict['ENGINE']) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/__init__.py", line 34, in __getattr__ 
    return getattr(connections[DEFAULT_DB_ALIAS], item) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/utils.py", line 92, in __getitem__ 
    backend = load_backend(db['ENGINE']) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/utils.py", line 24, in load_backend 
    return import_module('.base', backend_name) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module 
    __import__(name) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 16, in <module> 
    raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e) 
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named _mysql 

任何建议非常赞赏。

回答

0

你应该能够从python shell导入MySQLdb。 尝试从python shell导入MySQLdb不是django

如果您无法从python shell导入MySQLdb, 这可能是因为32-64位不匹配造成的,

试试这个link

1

你可能缺少MySQLdb模块。你基本上只需要安装它。

通过它的外观,您使用的是Mac,所以你可能想看看这个答案详细的安装说明:How to install MySQLdb (Python data access library to MySQL) on Mac OS X?

一个完全替代的解决方案,为您mentionned Django开发你可能想使用sqlite3而不是MySQL,这可能更容易安装。

+0

谢谢 - 我切换到sqlite3,它的工作原理。干杯! – entrepaul

+0

@Paul它通常是开发的更好选择,因为设置开销较少! –

+0

谢谢托马斯。我假设它不是运行生产应用程序的完美工具,但希望一旦我得到一堆sqlite,切换到像mysql这样的东西将更容易。 – entrepaul

相关问题