我一直在使用brew安装运行python。我使用安装工具安装了mysql_python egg(根据mysql_python说明进行标准安装),并将其安装到/usr/local/lib/python2.7/site-packages/。已处理依赖项等。
然后我去运行python控制台。我可以导入其他东西(例如import django; print django.VERSION),但是当我导入MySQLdb时,我收到以下错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/Cellar/python/2.7.1/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.4-x86_64.egg/MySQLdb/__init__.py", line 19, in <module>
import _mysql
ImportError: dlopen(/usr/local/Cellar/python/2.7.1/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.4-x86_64.egg/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib
Referenced from: /usr/local/Cellar/python/2.7.1/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.4-x86_64.egg/_mysql.so
Reason: image not found
有什么见解?非常感谢。
答案 0 :(得分:15)
在尝试复制错误时,我做了以下操作(我假设,作为一名家庭主妇,你也做了同样的事情。)
1)brew install python
安装Python 2.7
2)brew install mysql
将mysql安装到系统中(各种驱动程序需要)
3)根据自制软件的建议配置mysql
4)下载mysql_python并解压缩
5)使用python setup.py install
安装mysql_python
6)在交互式会话python
,import _mysql
在Lion上执行这些步骤后,我无法重现您的错误。现在......开始调试你的问题。
要检查的一些事项:
1)当您键入which python
时,在终端中是否指向您的自制软件安装?
2)请记住,使用自制软件时,网站包不存储在酒窖中,它们存储在/usr/local/lib/python2.7/site-packages中。有关原因的详细信息,请参阅this帖子。我没有必要将网站包的位置添加到我的PATH中,但您可以尝试一下
3)我可以建议尝试的最后一件事是为了让easy_install与homebrew的python一起使用,我必须将/ usr / local / share / python添加到我的PATH。
修改强>
重新读取错误消息后,主要是向右滚动后,我注意到它无法加载一个mysql库。对该库进行快速谷歌搜索似乎在OS X上安装mysql时可能会遇到困难。尝试找到文件libmysqlclient.18.dylib
并记下它的路径。通过homebrew安装mysql后,我的是:/usr/local/Cellar/mysql/5.5.14/lib
。我见过的常见修复修复了环境变量DYLD_LIBRARY_PATH
。有关详细信息,请查看this网站。以我的路径为例,我将此行添加到我的.bash_profile
export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:/usr/local/Cellar/mysql/5.5.14/lib"
如果这对您不起作用,我会强烈关注mysql未正确安装或出现问题的可能性。有了这种心态,希望你的东西会突然出现。
最后,如果你还没有任何sql数据库,我可以建议卸载mysql并通过homebrew安装吗?我现在对该设置没有任何麻烦。