2017-02-25 23 views
0

settings.py:在Django ImproperlyConfigured MySQL的

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.mysql', 
     'OPTIONS': { 
      'read_default_file': 'my.cnf', 
     }, 
    } 
} 

的my.cnf:

[client] 
database=fake 
host=127.0.0.1 
port=3306 
user=fake 
password=fake 
default-character-set=utf8 

这些文件在我的Django项目的同一目录下。 (实际my.cnf有真实凭据)。我有installed mysqlclient。然而,当我尝试runserver我得到的错误

Traceback (most recent call last): 
    File "//anaconda/lib/python2.7/site-packages/django/utils/autoreload.py", line 226, in wrapper 
    fn(*args, **kwargs) 
    File "//anaconda/lib/python2.7/site-packages/django/core/management/commands/runserver.py", line 109, in inner_run 
    autoreload.raise_last_exception() 
    File "//anaconda/lib/python2.7/site-packages/django/utils/autoreload.py", line 249, in raise_last_exception 
    six.reraise(*_exception) 
    File "//anaconda/lib/python2.7/site-packages/django/utils/autoreload.py", line 226, in wrapper 
    fn(*args, **kwargs) 
    File "//anaconda/lib/python2.7/site-packages/django/__init__.py", line 18, in setup 
    apps.populate(settings.INSTALLED_APPS) 
    File "//anaconda/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate 
    app_config.import_models(all_models) 
    File "//anaconda/lib/python2.7/site-packages/django/apps/config.py", line 202, in import_models 
    self.models_module = import_module(models_module_name) 
    File "//anaconda/lib/python2.7/importlib/__init__.py", line 37, in import_module 
    __import__(name) 
    File "//anaconda/lib/python2.7/site-packages/django/contrib/auth/models.py", line 4, in <module> 
    from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager 
    File "//anaconda/lib/python2.7/site-packages/django/contrib/auth/base_user.py", line 49, in <module> 
    class AbstractBaseUser(models.Model): 
    File "//anaconda/lib/python2.7/site-packages/django/db/models/base.py", line 108, in __new__ 
    new_class.add_to_class('_meta', Options(meta, app_label)) 
    File "//anaconda/lib/python2.7/site-packages/django/db/models/base.py", line 299, in add_to_class 
    value.contribute_to_class(cls, name) 
    File "//anaconda/lib/python2.7/site-packages/django/db/models/options.py", line 263, in contribute_to_class 
    self.db_table = truncate_name(self.db_table, connection.ops.max_name_length()) 
    File "//anaconda/lib/python2.7/site-packages/django/db/__init__.py", line 36, in __getattr__ 
    return getattr(connections[DEFAULT_DB_ALIAS], item) 
    File "//anaconda/lib/python2.7/site-packages/django/db/utils.py", line 212, in __getitem__ 
    backend = load_backend(db['ENGINE']) 
    File "//anaconda/lib/python2.7/site-packages/django/db/utils.py", line 116, in load_backend 
    return import_module('%s.base' % backend_name) 
    File "//anaconda/lib/python2.7/importlib/__init__.py", line 37, in import_module 
    __import__(name) 
    File "//anaconda/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 28, in <module> 
    raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e) 
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: dlopen(//anaconda/lib/python2.7/site-packages/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib 
    Referenced from: //anaconda/lib/python2.7/site-packages/_mysql.so 
    Reason: image not found 

什么样的配置步骤(S)我错过了或farked吗?

回答

1

这看起来像的this question可能重复和this one

它看起来像图书馆是不是它应该是。从以前question它看起来像你

安装了

在/ usr /本地/ mysql /下

但Django是期望它是在/usr/lib/

创建符号链接像在其他问题应该解决这个问题为您:

须藤LN -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/local/lib/libmysqlclient.18.dylib

须藤LN -s在/ usr /本地/ MySQL的/ lib目录的/ usr /本地/ MySQL的/ lib中/ MySQL的

+0

感谢。看起来我还有几个障碍要跨越,但这个答案让我超过了那个错误信息。 – wogsland

相关问题