我在OSX El Capitan上使用Python 2.7(Anaconda)。启动命令pip install MySQL-python
会产生:
Collecting MySQL-python
Using cached MySQL-python-1.2.5.zip
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/private/var/folders/d2/gd004m2s35z5dlyz9mfn6sc40000gn/T/pip-build-FYvb_T/MySQL-python/setup.py", line 17, in <module>
metadata, options = get_config()
File "setup_posix.py", line 53, in get_config
libraries = [ dequote(i[2:]) for i in libs if i.startswith(compiler_flag("l")) ]
File "setup_posix.py", line 8, in dequote
if s[0] in "\"'" and s[0] == s[-1]:
IndexError: string index out of range
这些都不起作用(以相同的错误退出)。
pip install mysqlclient
easy_install MySQL-python
pip
是最新的。我基本上都试图遵循相关问题中的所有建议,但都没有成功。感谢任何帮助,谢谢!
答案 0 :(得分:27)
通过查找mysql-connector-c
可能得出brew安装配置可能不正确的结论的信息,打开/usr/local/bin/mysql_config
脚本以修改其中的一些内容:
#Create options
Libs = "-L$pkglibdir "
Libs = "$libs -l"
变成:
#Create options
Libs = "-L$pkglibdir"
Libs = "$libs -lmysqlclient -lssl -lcrypto"
保存
然后重新安装mysql-python:
pip install mysql-python
答案 1 :(得分:7)
我遇到了同样的错误并按照以下说明解决了:
答案 2 :(得分:3)
这解决了我的问题:
brew install mysql@5.7
brew link --force mysql@5.7
答案 3 :(得分:0)
我在安装pip install MySql-python
时遇到了同样的错误。
然后,我使用以下命令安装了libmysqlclient-dev
:
sudo apt install libmysqlclient-dev
安装完成后,我再次尝试pip install MySql-python
它对我有用。