我正在使用Django,并且在运行时python manage.py runserver收到以下错误:
python manage.py runserver
ImproperlyConfigured: Error loading MySQLdb module: dlopen(/Library/Python/2.7/site-packages/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib Referenced from: /Library/Python/2.7/site-packages/_mysql.so Reason: unsafe use of relative rpath libmysqlclient.18.dylib in /Library/Python/2.7/site-packages/_mysql.so with restricted binary
我不确定如何解决此问题。我已经通过pip安装了MySQL-python。我早些时候遵循了这一步骤。
我还要指出的是El Capitan Beta 3。
在OS X El Capitan(10.11)中,Apple添加了系统完整性保护。
这样可以防止受保护位置中的程序(例如)/usr调用使用相对于另一个共享库的相对引用的共享库。在这种情况下_mysql.so,它包含对共享库的相对引用libmysqlclient.18.dylib。
/usr
_mysql.so
libmysqlclient.18.dylib
将来,共享库_mysql.so可能会更新。在此之前,你可以通过install_name_tool实用程序强制其使用绝对引用。
install_name_tool
假设它libmysqlclient.18.dylib在/ usr / local / mysql / lib /中,然后运行命令:
sudo install_name_tool -change libmysqlclient.18.dylib \ /usr/local/mysql/lib/libmysqlclient.18.dylib \ /Library/Python/2.7/site-packages/_mysql.so