2013-03-25 32 views
0

我想创建数据库表与Django的python manage.py syncdb并得到一个错误Error was: No module named mysql.base。 我知道网上有很多这样的问题,但没有人帮助我。MySQL的Python和Django 1.5.0:没有模块名为mysql.base错误

Python版本:2.7.3 (default, Aug 1 2012, 05:16:07) \n[GCC 4.6.3]

Django版本:(1, 5, 0, 'final', 0)

MySQL-Python版本:MySQL_python-1.2.4b4-py2.7-linux-i686

系统信息:Linux Marlon 3.5.0-26-generiC#42~precise1-Ubuntu SMP Mon Mar 11 22:19:42 UTC 2013 i686 athlon i386 GNU/Linux

MySQL版本:mysql Ver 14.14 Distrib 5.5.29, for debian-linux-gnu (i686) using readline 6.2

setting.py文件:

... 
DATABASES = { 
    'default': { 
    'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. 
    'NAME': 'a',      # Or path to database file if using sqlite3. 
    # The following settings are not used with sqlite3: 
    'USER': 'a', 
    'PASSWORD': 'a', 
    'HOST': 'a',      # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP. 
    'PORT': '',      # Set to empty string for default. 
    } 
} 
... 

错误代码:

`Traceback (most recent call last): 
File "manage.py", line 10, in <module> 
execute_from_command_line(sys.argv) 
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 453, in execute_from_command_line 
utility.execute() 
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 392, in execute 
self.fetch_command(subcommand).run_from_argv(self.argv) 
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 272, in fetch_command 
klass = load_command_class(app_name, subcommand) 
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 77, in load_command_class 
module = import_module('%s.management.commands.%s' % (app_name, name)) 
File "/usr/local/lib/python2.7/dist-packages/django/utils/importlib.py", line 35, in import_module 
__import__(name) 
File "/usr/local/lib/python2.7/dist-packages/django/core/management/commands/syncdb.py", line 8, in <module> 
from django.core.management.sql import custom_sql_for_model, emit_post_sync_signal 
File "/usr/local/lib/python2.7/dist-packages/django/core/management/sql.py", line 9, in <module> 
from django.db import models 
File "/usr/local/lib/python2.7/dist-packages/django/db/__init__.py", line 40, in <module> 
backend = load_backend(connection.settings_dict['ENGINE']) 
File "/usr/local/lib/python2.7/dist-packages/django/db/__init__.py", line 34, in __getattr__ 
return getattr(connections[DEFAULT_DB_ALIAS], item) 
File "/usr/local/lib/python2.7/dist-packages/django/db/utils.py", line 93, in __getitem__ 
backend = load_backend(db['ENGINE']) 
File "/usr/local/lib/python2.7/dist-packages/django/db/utils.py", line 45, in load_backend 
raise ImproperlyConfigured(error_msg) 
django.core.exceptions.ImproperlyConfigured: 'django.db.backends.mysql' isn't an available database backend. 
Try using 'django.db.backends.XXX', where XXX is one of: 
u'oracle', u'postgresql_psycopg2', u'sqlite3' 
Error was: No module named mysql.base` 

而且import MySQLdb工作正常互动SHEL湖

我在做什么错?

回答

0

似乎Django安装出了问题:它列出了django.db.backends下可用的软件包,并且由于某种原因没有提及mysql。我会尝试彻底删除Django并重新安装它。我也很困惑,你在dist-packages下有Django 1.5,这是由发行版提供的软件包,而Django 1.5太新了,无法将它发布到任何发行版中,也许你有两个冲突的安装?)

+0

你是对的!有两个安装!也许我从https://www.djangoproject.com/download/安装了最新的官方和最新的开发版本) 卸载后用'apt-get install python-django'重新安装帮了我。谢谢! – 2013-03-25 10:07:05

相关问题