程序员

mac安装MySQLdb(mysql-python模块)

2019-03-26  本文已影响0人  1994_老叶

先声明一下,我是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安装mysqlmysql-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 mysqlbrew 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

成功了!
大家在看文章的时候,请认真查看我们的报错是否一样,否则是不奏效的。

上一篇下一篇

猜你喜欢

热点阅读