MacOSX上的python和mysql

MacOSX上的python和mysql,python,mysql,macos,Python,Mysql,Macos,可能重复: 我在网上找到的东西都试过了。我已经使用dmg安装了mysql,并尝试安装mysql python(我认为这是可行的)。但当我在python解释器“import MySQLdb”中运行时,仍然会出现错误: 导入MySQLdb 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 文件“build/bdist.macosx-10.6-universal/egg/MySQLdb/_init__.py”,第19行,在 文件“build/bdist.macosx-10.6-universal

可能重复:

我在网上找到的东西都试过了。我已经使用dmg安装了mysql,并尝试安装mysql python(我认为这是可行的)。但当我在python解释器“import MySQLdb”中运行时,仍然会出现错误:

导入MySQLdb 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 文件“build/bdist.macosx-10.6-universal/egg/MySQLdb/_init__.py”,第19行,在 文件“build/bdist.macosx-10.6-universal/egg/_mysql.py”,第7行,在 文件“build/bdist.macosx-10.6-universal/egg/_mysql.py”,第6行,在引导程序中__ ImportError:dlopen(/Users/matthew/.python-egs/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg-tmp//u MySQL.so,2):未加载库:libmysqlclient.18.dylib 引用自:/Users/matthew/.python-eggs/MySQL\u python-1.2.3-py2.6-macosx-10.6-universal.egg-tmp//u MySQL.so 原因:找不到图像
我想不出这个问题。关于如何追踪这一点的想法?

我刚刚在我的系统上安装了它,以下是我为使其正常工作所做的步骤:

  • 下载Mysql python:(我使用了1.2.2版本)
  • 通过删除37-19行(ifdefine),提取、访问并编辑_mysql.c文件
  • 在site.cfg中设置mysql\u config=/usr/local/mysql/bin/mysql\u config
  • sudo python setup.py build(这一次我运行了两次,而第一次运行了一些奇怪的东西,第二次运行时没有出现错误……我读到了这些,这是一些奇怪的东西)
  • sudo python setup.py安装
  • 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
  • 最后,您只需尝试在python中导入MySQLdb。希望这对你也有用


    Ignas

    您是如何安装mysql python的?易于安装,pip等?只需谷歌就可以了。您将在SO上找到3个关于同一主题的讨论非常透彻的问题。例如:尝试运行
    arch-i386 python2.6-c“import MySQLdb”
    。。。同时尝试:警告!在OSX上,一般情况下,您不应该在/usr/lib中或
    /usr
    中除
    /usr/local
    以外的任何其他位置添加、修改或删除文件。该空间被认为是OSX的一部分,由苹果公司管理。下一次苹果发布更新时,你可能会有东西坏掉的风险,最坏的情况是,你可能会坏掉你的系统。这同样适用于
    /System/Library
    。内德,我也读过这篇文章。。。但我在这样的安装中生活了一年,安装了苹果的所有更新。。。更新后,没有任何内容被破坏或更改。也许这不是最佳实践,但MySQL默认安装到/usr/local/MySQL/系统/库真的是不适合修改的地方,这是真的!很好的提示,顺便说一句。。我有点误解了你的建议。。。是的,您需要在/usr/lib中使用符号链接。是的,这个我不喜欢。。。但这是一个解决办法。最好是在环境中导出变量:导出DYLD_LIBRARY_PATH=/usr/local/mysql/lib/?安装到
    /usr/local/mysql
    即可。但是没有理由需要在
    /usr/lib/
    中创建一个符号链接<代码>/usr/local/lib,也许吧。理想情况下,
    mysql-python
    或任何依赖于mysql客户机库的东西都会找到合适的位置。否则,就应该为其构建提供正确的配置参数。这里也是!!步骤6为我修复了它,无需遵循所有步骤。我安装了mysql-python。
    >>> import MySQLdb
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "build/bdist.macosx-10.6-universal/egg/MySQLdb/__init__.py", line 19, in <module>
    
      File "build/bdist.macosx-10.6-universal/egg/_mysql.py", line 7, in <module>
      File "build/bdist.macosx-10.6-universal/egg/_mysql.py", line 6, in __bootstrap__
    ImportError: dlopen(/Users/matthew/.python-eggs/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib
      Referenced from: /Users/matthew/.python-eggs/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so
      Reason: image not found