在MacOSX10.6上运行Python服务器时出现MySQLdb错误

5

运行我的服务器(python manage.py runserver)出现了以下错误:

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

我尝试了这个页面上的获胜解决方案,但没有成功:Django + MySQL on Mac OS 10.6.2 Snow Leopard

然后我继续尝试了Thierry Lam (5 votes)在Django - MySQLdb: Symbol not found: _mysql_affected_rows中的建议。

按照Thierry Lam的建议之后,我的错误信息如下:

django.core.exceptions.ImproperlyConfigured: 加载MySQLdb模块时出错:dlopen(/Users/steven/.python-eggs/MySQL_python-1.2.3-py2.6-macosx-10.3-fat.egg-tmp/_mysql.so, 2): 找不到库文件:libmysqlclient.18.dylib

这似乎非常像同样的链接问题。有什么经验可以分享吗?谢谢。

2个回答

15

看起来你已经安装好了一切,但是它找不到libmysqlclient。你尝试过以下步骤吗?

> sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
> sudo ln -s /usr/local/mysql/lib /usr/local/mysql/lib/mysql

你的第一行代码解决了我的问题 - 它具体做了什么?非常感谢你的帮助。 - Steve Trevathan
2
你正在创建一个符号链接。你的python-mysql模块期望它在不同于安装位置的地方。现在,当它查找库时,符号链接会将其指向正确的位置。 - Jeff Holland
对我也起作用!谢谢。不过,如果我想要删除符号链接,我该怎么做?符号链接到底是什么意思? - locoboy

1

看起来你只是缺少mysql和Django的mysql-python依赖项。 不知道你是如何安装Django的。使用pip或easy_install进行安装。

pip install mysql-python

对于Django来说,建议使用PostgreSQL,但是为了开发目的,设置sqlite数据库会更加容易。


这解决了我的问题。谢谢! - Michael Romrell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接