我需要通过Python连接到本地计算机上的MySQL数据库。这是我的装置:
MySQL-python-1.2.4b4.tar.gz并通过终端在解压缩文件夹中运行python setup.py install安装这是我在安装结束时得到的输出:
Installed /Library/Python/2.7/site-packages/distribute-0.6.28-py2.7.egg
Processing dependencies for distribute==0.6.28`
Finished processing dependencies for distribute==0.6.28
Processing MySQL_python-1.2.4b4-py2.7-macosx-10.10-intel.egg
creating /Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.10-intel.egg
Extracting MySQL_python-1.2.4b4-py2.7-macosx-10.10-intel.egg to /Library/Python/2.7/site-packages
Adding MySQL-python 1.2.4b4 to easy-install.pth file
Installed /Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.10-intel.egg
Processing dependencies for MySQL-python==1.2.4b4
Finished processing dependencies for MySQL-python==1.2.4b4但是,在尝试连接时,py脚本给出了以下错误:
ImportError: dlopen(/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.10-intel.egg/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib
Referenced from: /Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.10-intel.egg/_mysql.so
Reason: image not found
('result', 256)当我这么做
$ python
>>> import MySQLdb我也会犯同样的错误。
我有什么办法解决这个问题吗?
发布于 2015-09-08 06:31:14
首先,您应该确保您拥有libmysqlclient.18.dylib。在我的mac上,它的路径是:/opt/local/lib/mysql56/mysql/libmysqlclient.18.dylib。如果你没有,你可能需要通过安装mysql5-devel来获得它。
如果您有动态库,原因是_mysql.so的信息是错误的。您可以使用otool命令来检查它。
otool -L /Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.10-intel.egg/_mysql.so它将显示此命令告诉您的路径不是动态库的正确路径。您可以使用以下命令来修复它。
sudo install_name_tool -change libmysqlclient.18.dylib {this is the correct path for mysql dynamic library} /Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.10-intel.egg/_mysql.sohttps://stackoverflow.com/questions/29173107
复制相似问题