Python 2.7和MySQLDB:找不到图像(OSX)

时间:2014-12-27 18:05:02

标签: python mysql macos python-2.7

我刚刚在我的10.10.1 MAC上安装了MySQL,并且我试图将它链接到Python。但是,当我尝试导入软件包时,我收到此错误。

  import MySQLdb as mdb
  File "build/bdist.macosx-10.5-x86_64/egg/MySQLdb/__init__.py", line 19, in <module>

  File "build/bdist.macosx-10.5-x86_64/egg/_mysql.py", line 7, in <module>
  File "build/bdist.macosx-10.5-x86_64/egg/_mysql.py", line 6, in __bootstrap__
ImportError: dlopen(/Users/ME/.python-eggs/MySQL_python-1.2.5-py2.7-macosx-10.5-x86_64.egg-tmp/_mysql.so, 2): Library not loaded: libssl.1.0.0.dylib
  Referenced from: /Users/ME/.python-eggs/MySQL_python-1.2.5-py2.7-macosx-10.5-x86_64.egg-tmp/_mysql.so
  Reason: image not found
[Finished in 0.2s with exit code 1]

我不知道&#34;没有找到图片&#34;意味着或如何解决这个问题。

MySQL在后台连接到服务器,我使用以下命令通过终端窗口安装了包:easy_install MySQL-python

关于我哪里出错的任何建议?

2 个答案:

答案 0 :(得分:3)

检查_mysql.so链接到的位置:

otool -L /Library/Python/2.7/site-packages/_mysql.so

在我的情况下,我在/tmp/中构建了一次mysql源代码 tmp清理了我的dylib消失了。我从来没有重新联系过 像/Applications/MAMP/Library/lib那样可靠的位置 我的mysql库是实时的(因为我在构建之后将它们复制到了这里)。

所以我回去重建了一切,并确保运行命令 将包链接更新为正确的dylib

sudo install_name_tool -change <temp file location>/mysql-5.5.29/libmysql/libmysqlclient.18.dylib /Applications/MAMP/Library//lib/libmysqlclient.18.dylib /Library/Python/2.7/site-packages/_mysql.so

我按照此处的设置进行了操作: http://dreamconception.com/tech/how-to-install-mysqldb-mysql-python-on-mamp/

注意:我不需要执行有关更改configure.cmake的步骤 文件。当我查看configure.cmake文件时,它对我有意义,所以我跑了 它按原样运作。

另请注意,您的libmysqlclient.<num>.dylib可能会有所不同 做find . -name "libmysqlclient.*.dylib"以获得正确的

现在重新运行otool命令,看看链接是否已更新。

参考文献(和其他解决方案):

答案 1 :(得分:1)

可以在此链接Python: MySQLdb and "Library not loaded: libmysqlclient.16.dylib"

中找到问题的解决方案
  
    

_mysql.so是指libmysqlclient.16.dylib。也就是说,作为Python和MySQL客户端库之间桥梁的共享库_mysql.so引用了MySQL客户端库的动态库,并且由于某种原因无法加载该库。

         

您需要回答的问题:

         
        
  • 您的系统上是否有libmysqlclient.16.dylib?如果没有,则需要安装MySQL客户端软件。

  •     
  • 如果是,在DYLD_LIBRARY_PATH设置中包含该库的目录是什么?如果没有,请尝试添加它。

  •     
  • 如果是这样,您必须确保libmysqlclient.16.dylib文件没有损坏。我的副本安装在/opt/local/lib/mysql5/mysql/libmysqlclient.16.dylib中,由MacPorts提供,具有MD5签名c79ee91af08057dfc269ee212915801a,大小为1,462,376字节。你的副本是什么样的?
  •