Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7和MySQLDB:找不到映像(OSX)_Python_Mysql_Macos_Python 2.7 - Fatal编程技术网

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

Python 2.7和MySQLDB:找不到映像(OSX),python,mysql,macos,python-2.7,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 <

我刚刚在我的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]
将MySQLdb作为mdb导入
文件“build/bdist.macosx-10.5-x86_64/egg/MySQLdb/_init__.py”,第19行,在
文件“build/bdist.macosx-10.5-x86_64/egg/_mysql.py”,第7行,在
文件“build/bdist.macosx-10.5-x86_64/egg/_mysql.py”,第6行,在引导程序中__
ImportError:dlopen(/Users/ME/.python-eggs/MySQL_python-1.2.5-py2.7-macosx-10.5-x86_64.egg-tmp//u MySQL.so,2):未加载库:libssl.1.0.0.dylib
引用自:/Users/ME/.python-eggs/MySQL\u python-1.2.5-py2.7-macosx-10.5-x86\u 64.egg-tmp//u MySQL.so
原因:找不到图像
[在0.2秒内完成,退出代码为1]
我不知道“找不到图像”是什么意思,也不知道如何解决这个问题

MySQL在后台连接到服务器,我通过终端窗口使用:
easy\u install MySQL python


有没有关于我哪里出错的建议?

可以在这个链接中找到问题的解决方案

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

您需要回答的问题:

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

  • 如果是,包含该库的目录是否在您的DYLD\u library\u路径设置中?如果没有,请尝试添加它

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

这个问题的解决方法可以在这个链接中找到

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

您需要回答的问题:

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

  • 如果是,包含该库的目录是否在您的DYLD\u library\u路径设置中?如果没有,请尝试添加它

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

检查您的
\u 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
sudo install_name_tool-change/mysql-5.5.29/libmysql/libmysqlclient.18.dylib/Applications/MAMP/Library//lib/libmysqlclient.18.dylib/Library/Python/2.7/site-packages//
我遵循了此处找到的设置:

注意:我不需要执行有关更改
configure.cmake
文件当我查看
configure.cmake
文件时,它对我很有意义,所以我运行了 就这样,它起了作用

还请注意,您的
libmysqlclient..dylib
可能会有所不同,因此 执行
查找-命名为“libmysqlclient.*.dylib”
以获取正确的

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

参考资料(和其他解决方案):


检查mysql的
\u位置。因此
链接到:

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
sudo install_name_tool-change/mysql-5.5.29/libmysql/libmysqlclient.18.dylib/Applications/MAMP/Library//lib/libmysqlclient.18.dylib/Library/Python/2.7/site-packages//
我遵循了此处找到的设置:

注意:我不需要执行有关更改
configure.cmake
文件当我查看
configure.cmake
文件时,它对我很有意义,所以我运行了 就这样,它起了作用

还请注意,您的
libmysqlclient..dylib
可能会有所不同,因此 执行
查找-命名为“libmysqlclient.*.dylib”
以获取正确的

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

参考资料(和其他解决方案):


谢谢!我会看一下,然后给你答复。谢谢!我会看一下,然后给你答复。