我也遇到过这个问题.我卸载了MySQL-python,然后安装了它.
pip uninstall MySQL-python pip install MySQL-python
更新(根据评论)
在某些情况下,您可能需要以下列方式执行第二个(安装)步骤:
pip install --no-binary MySQL-python MySQL-python
该no-binary
选项使PIP建立新鲜和链接到正确的库:
--no-binary
不要使用二进制包.可以多次提供,每次都会增加现有值.接受:all:禁用所有二进制包,:none:清空集合,或者在它们之间用逗号表示一个或多个包名称.请注意,某些包很难编译,并且在使用此选项时可能无法安装.
注意:注意,MySQL-python
需要提两次.如上所述,第一次出现的是要应用no-binary
选项的包的名称,第二次指定要安装的包.
我也遇到过这个问题.我卸载了MySQL-python,然后安装了它.
pip uninstall MySQL-python pip install MySQL-python
更新(根据评论)
在某些情况下,您可能需要以下列方式执行第二个(安装)步骤:
pip install --no-binary MySQL-python MySQL-python
该no-binary
选项使PIP建立新鲜和链接到正确的库:
--no-binary
不要使用二进制包.可以多次提供,每次都会增加现有值.接受:all:禁用所有二进制包,:none:清空集合,或者在它们之间用逗号表示一个或多个包名称.请注意,某些包很难编译,并且在使用此选项时可能无法安装.
注意:注意,MySQL-python
需要提两次.如上所述,第一次出现的是要应用no-binary
选项的包的名称,第二次指定要安装的包.
您需要使用dev版本mysqlclient
:
pip install git+https://github.com/PyMySQL/mysqlclient-python.git@master
在我使用Python 3.4上最新的PyPI版本(1.3.7)之前,它正在搜索libmysqlclient.18.dylib
(来自MySQL 5.6)而我只有libmysqlclient.20.dylib
(来自MySQL 5.7).
如果您使用Python 3,MySQL-python
则不是一个选项(并且mysqlclient
是它的新版本).
这解决了我的问题:
$ pip uninstall MySQL-python $ pip install mysqlclient
MySQL-python
原来是很老了(最后一次提交是7年前).mysqlclient
是它的现代版本,有很多改进和错误修复.
如果遇到缺少以下内容的问题libmysqlclient.18.dylib
:
从官方链接下载mysql 5.6:https : //dev.mysql.com/downloads/mysql/
安装它
在终端- mdfind libmysqlclient | grep .18.
复制输出
sudo ln -s [the output from previous command] /usr/local/lib/libmysqlclient.18.dylib