先声明一下,我是Mac系统,安装homebrew,pip。
今天跑python脚本,需要使用import MySQLdb
,在运行的时候,报错无此模块,百度了一下,Mac系统需要安装mysql-python,使用命令:
sudo pip install mysql-python
哎,这个命令简直是噩梦的开始,运行的时候报错:
Command "python setup.py egg_info" failed with error code 1 in /private/tmp/pip-install-IQ2MXF/mysql-python/
然后一脸懵逼,我就去谷歌,百度,然后一堆帖子说各种各有的方法,什么brew安装mysql
和mysql-connector-c
(命令:brew install mysql
,安装路径在:/usr/local/Cellar
),然后这两个的安装还有冲突,需要 brew unlink mysql
来解决,然后再运行sudo pip install mysql-python
,然后以为会开心的解决,呵呵呵,天真!又报另外的错误了:
_mysql.c:44:10: fatal error: 'my_config.h' file not found
#include "my_config.h"
^~~~~~~~~~~~~
1 error generated.
error: command 'cc' failed with exit status 1
然后又去谷歌百度这个问题,这个问题就更麻烦了,什么添加软连接啊,修改mysql_config啊(mysql和mysql-connector-c都有这个文件,也不知道这些大佬说的哪一个,绝望+1,索性都修改过),然后还是不行,还试过下载mysql-python包进行安装,安装时居然给我报:
rllib2.py", line 558, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 403: SSL is required
没有比这更绝望的了,所以,回到起点吧,把brew安装的mysql和mysql-connector-c都卸载了(brew uninstall mysql
和brew install mysql-connector-c
),然后我从mysql官网下载了MySQL Community Server,然后一路安装,安装路径:/usr/local/mysql
,然后我尝试使用命令sudo pip install mysql-python
,仔细看看报错:
sh: mysql_config: command not found
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/private/tmp/pip-install-IQ2MXF/mysql-python/setup.py", line 17, in <module>
metadata, options = get_config()
File "setup_posix.py", line 43, in get_config
libs = mysql_config("libs_r")
File "setup_posix.py", line 25, in mysql_config
raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/tmp/pip-install-IQ2MXF/mysql-python/
EnvironmentError: mysql_config not found,找不到这个配置文件!!!突然灵感一动,我配置到环境变量,我不想修改/etc路径下到配置文件,我使用用户级别:~/.bash_profile
,然后我发现我没有.bash_profile文件,有个长得特别像的.basg_profile文件,(绝望+2),明确告诉你,不是这个孪生兄弟文件,然后就是
1.在home目录下( cd ~
),使用命令创建这个文件:
touch .bash_profile
2.编辑这个文件:
vim ~/.bash_profile
添加内容(/usr/local/mysql/bin
和/usr/local/mysql/lib/
是我的mysql路径下的文件夹):
PATH="/usr/local/mysql/bin:${PATH}"
export PATH
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/
export VERSIONER_PYTHON_PREFER_64_BIT=yes
export VERSIONER_PYTHON_PREFER_32_BIT=no
3.再使环境变量生效
source ~/.bash_profile
4.最后,超关键,使用
sudo pip install mysql-python
成功了!
大家在看文章的时候,请认真查看我们的报错是否一样,否则是不奏效的。
网友评论