OS X 10.11 下解决Python-MysqlDB无法使用的问题

来源:互联网 发布:linux shell 输入 编辑:程序博客网 时间:2024/06/08 11:59
Apple 公司最近更新了OS X系统,更新到了10.11,对比10.10,10.11在安全性方面有了很大的提升,但是更新完10.11后发现Python-MysqlDB import失败了,原因是无法找到

/usr/local/mysql/lib/libmysqlclient.18.dylib这个文件。

在10.10中解决这个问题,只要执行这个命令即可:

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
然而到了10.11中,运行了这个命令以后会出现以下提示:

ln: /usr/lib/libmysqlclient.18.dylib: Operation not permitted


出现如下提示的原因是:

OS X 10.11 中System Integrity Protection 的功能,阻止了写入的操作的,默认是开启的,需要关闭。

关闭方式:

重启电脑,开机时按住 cmd + R,进入 Recovery 模式。然后打开终端工具 ,输入命令:csrutil diable,然后再次重启电脑即可。


但是关闭以后,10.11安全性方面的特性就不复存在了,假如既不想关闭 System Intergrity Protection 功能,又想解决Python-MysqlDB的问题,经过Google的帮助,再Stack Overflow上找到了一个解决方法

在终端执行:

sudo install_name_tool -change libmysqlclient.18.dylib \/usr/local/mysql/lib/libmysqlclient.18.dylib \/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.9-intel.egg/_mysql.so

即可解决Python-MysqlDB在 10.11 中import错误的问题。


0 0