Rob*_*son 18 python mysql django
我开始学习Python/Django的路径,并且遇到了我的第一个障碍.尝试设置数据库时settings.py,内部服务器失败并显示:
File "/Library/Python/2.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: dlopen(/Users/rob/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.7-intel.egg-tmp/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib
Referenced from: /Users/rob/.python-eggs/MySQL_python-1.2.3-py2.7-macosx-10.7-intel.egg-tmp/_mysql.so
Reason: image not found
Run Code Online (Sandbox Code Playgroud)
我找到了很多解决方案,主要涉及我的DYLD_LIBRARY_PATH价值的明确定义,但这对我不起作用.MysQL-Python已安装(v1.2.3).
知道我可能需要做些什么才能完成这项工作?
谢谢.
UPDATE
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'django_tutorial', # Or path to database file if using sqlite3.
'USER': 'root', # Not used with sqlite3.
'PASSWORD': '', # Not used with sqlite3.
'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for default. Not used with sqlite3.
}
}
Run Code Online (Sandbox Code Playgroud)
Ned*_*ily 37
根据您的评论,似乎libmysqlclientdylib安装了非绝对库名称路径.这与OS X上的标准做法相反,OS X在这方面与大多数其他Unix-y系统不同.您应该能够通过使用修改.so文件中的路径来永久修复问题(至少在下次升级之前),install_name_tool或者通过确保Django实例运行并定义了以下环境变量来使其工作:
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib
Run Code Online (Sandbox Code Playgroud)
您也可以通过/usr/local/lib在dylib中创建符号链接来使其工作,/usr/local/mysql/lib因为/usr/local/lib在默认的动态加载搜索路径上,所以(未经测试!)类似于:
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/local/lib/libmysqlclient.18.dylib
Run Code Online (Sandbox Code Playgroud)
一个更好的长期解决方案是不使用Python导入MySQLdb错误 - Mac 10.6中建议的破坏的MySQL客户端安装.
| 归档时间: |
|
| 查看次数: |
13263 次 |
| 最近记录: |