Python,Brew和MySQLdb

use*_*419 7 python mysql homebrew mysql-python

我一直在使用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
Run Code Online (Sandbox Code Playgroud)

任何见解?非常感谢.

Ada*_*wis 15

在尝试复制你的错误时,我做了以下(我假设,作为一个家庭酿酒师,你做了同样的事情).

1)brew install python安装Python 2.7
2)brew install mysql将mysql安装到系统(各种驱动程序需要)
3)按照自制软件的建议配置mysql
4)下载mysql_python 并解压缩
5)安装mysql_python使用python setup.py install
6)在交互式会话中测试它python,import _mysql

在Lion上执行这些步骤后,我无法重现您的错误.现在......开始调试你的问题.

要检查的一些事项:
1)在您输入的终端which python中它是否指向您的自制软件安装?
2)请记住,使用自制软件时,网站包不存储在酒窖中,它们存储在/usr/local/lib/python2.7/site-packages中.有关原因的详细信息,请参阅帖子.我没有必要将站点包的位置添加到我的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.有关详细信息,请访问网站.以我的路径为例,我将这行添加到我的.bash_profile中

export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:/usr/local/Cellar/mysql/5.5.14/lib"

如果这对您不起作用,我会强烈关注mysql未正确安装或出现问题的可能性.有了这种心态,希望你的东西会突然出现.

最后,如果你还没有任何sql数据库,我可以建议卸载mysql并通过homebrew安装吗?我现在对该设置没有任何麻烦.