virtualenv 安装 mysql-python 出现的问题
1. 错误1
控制台输出: _mysql.c:44:10: fatal error: 'my_config.h' file not found
- 安装:
pip install mysql-python
2. 原因:没有安装mysql-connector-c
3. 解决:brew install mysql-connector-c
2. 错误2
控制台输出
Complete output from command python setup.py egg_info: Traceback
(most recent call last): File "<string>", line 1, in <module> File
"/private/var/folders/rv/a_a/T/pip-build-nyaa8t95/mysqlclient/setup.py",
line 17, in <module> metadata, options = get_config() File
"/private/var/folders/rv/a_a/T/pip-build-nyaa8t95/mysqlclient/setup_posix.py",
line 54, in get_config libraries = [dequote(i[2:]) for i in libs
if i.startswith('-l')] File
"/private/var/folders/rv/a_a/T/pip-build-nyaa8t95/mysqlclient/setup_posix.py",
line 54, in <listcomp> libraries = [dequote(i[2:]) for i in libs
if i.startswith('-l')] File
"/private/var/folders/rv/a_a/T/pip-build-nyaa8t95/mysqlclient/setup_posix.py",
line 12, in dequote if s[0] in ""'" and s[0] == s[-1]:
IndexError: string index out of range
- 原因:mysql-connector-c中配置项有误
- 解决:
cd /usr/local/Cellar/mysql-connector-c/6.1.11/bin/
# 修改前先备份
cp mysql_config mysql_config.backup
# 使用vi修改配置文件
sudo vi mysql_config
112 gg # 跳转到 112行
将
# Create options
libs="-L$pkglibdir"
libs="$libs -l "
替换为
# Create options
libs="-L$pkglibdir"
libs="$libs -lmysqlclient -lssl -lcrypto"
:wq! # 强制保存