OS X El Capitan 上的 MySQLdb 错误
Posted
技术标签:
【中文标题】OS X El Capitan 上的 MySQLdb 错误【英文标题】:Error with MySQLdb on OS X El Capitan 【发布时间】:2016-04-29 14:37:20 【问题描述】:我尝试在 iPython 中导入 mysqldb 并收到以下错误。
ImportError Traceback (most recent call last)
<ipython-input-4-f5538763dbdb> in <module>()
----> 1 import MySQLdb as mdb
2 import sys
/Users/user1/anaconda/lib/python2.7/site-packages/MySQLdb/__init__.py in <module>()
17 from MySQLdb.release import __version__, version_info, __author__
18
---> 19 import _mysql
20
21 if version_info != _mysql.version_info:
ImportError: dlopen(/Users/user1/anaconda/lib/python2.7/site-packages/_mysql.so, 2): Library not loaded: libssl.1.0.0.dylib
Referenced from: /Users/user1/anaconda/lib/python2.7/site-packages/_mysql.so
Reason: image not found
我在 *** 上发现了一些类似性质的帖子,其中建议应该禁用系统完整性保护,我现在已经这样做了。
我还按照这篇文章Python mysqldb: Library not loaded: libmysqlclient.18.dylib 中针对 OSX El Capitan 的建议编辑了我的 bashprofile,但我仍然无法克服这个问题。
更多信息有助于诊断问题:
Python 版本:Python 2.7.10 |Anaconda 2.4.0 (x86_64)| (默认,2015 年 10 月 19 日,18:31:17) [GCC 4.2.1(Apple Inc. build 5577)] “哪个 python”的结果:/Users/user1/anaconda/bin/python 安装的 MySQL 版本:mysql-5.7.10 MySQL-Python 版本:MySQL-python-1.2.5我哪里错了?
【问题讨论】:
Library not loaded: libssl.1.0.0.dylib
我按照***.com/questions/27264574/… 中的说明编辑了我的 bash 配置文件,但仍然没有解决方案。
【参考方案1】:
经过一些研究,我认为问题可能是由于 OpenSSL 以及 El Capitan 中与此相关的权限造成的。 我发现了两个暗示类似解决方案的资源:
-
https://***.com/a/23945292/2762934
https://github.com/phpbrew/phpbrew/issues/607
原来是这样:
brew install --upgrade openssl
brew unlink openssl && brew link openssl --force
【讨论】:
Warning: Refusing to link macOS-provided software: openssl
【参考方案2】:
我遇到了同样的问题并尝试了一些方法,包括 brew install、unlink、link 解决方案,但没有任何运气。对于运行 Python 2.7.12 的 OS X 10.12.3,Anaconda 2.3.0 以下对我有用。
-
关闭系统完整性保护:重启Mac并按住Command + R,打开终端输入:csrutil disable;重启
重启后:
cd /usr/local/Cellar/openssl/1.0.2k/lib
sudo cp libssl.1.0.0.dylib libcrypto.1.0.0.dylib /usr/lib/
【讨论】:
【参考方案3】:你可以试试:
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH
【讨论】:
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/ 对我有帮助 在尝试了一些其他建议来解决这个问题,同时试图让 django 在 os x 上使用 mysql 之后,这对我也有用以上是关于OS X El Capitan 上的 MySQLdb 错误的主要内容,如果未能解决你的问题,请参考以下文章
制作 Mac OS X El Capitan 的U盘引导安装
OS X 10.11 El Capitan 上的蓝牙低功耗延迟/延迟
OS X El Capitan 上的 Angular 2 教程在浏览器中返回“Cannot GET /”
OS X El Capitan 上的 MySQL 5.7.9:错误服务器退出而不更新 PID 文件
NPM:在 OS X El Capitan 上的“ld: library not found for -lgcc_s.10.5”?