Mysql-Python 在 Mac osx下的安装

作者: doctordc | 来源:发表于2018-05-14 17:00 被阅读643次

    环境配置这个东西很讨厌,但是还必须得配,没办法。这个环境的配置过程也是很多坑,花了一个下午踩坑,由于重启了几次,所以没有截图来记录了。不过还是可以分享一下遇到问题每一步的分析和解决方法。

    注:本机已经安装了mysql,xcode command line tools,homebrew,pip等环境

    先介绍一下什么是MySQLdb:

    MySQLdb 是用于Python链接Mysql数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的。

    好吧随便找个链接都有相关介绍:http://www.runoob.com/python/python-mysql.html

    进入正题。一开始想到的是在线安装,那就很自然的

    sudo pip install MySQL-Python

    提示报错,至于报的是没有一个什么.h文件还是ssl错误记不到了,百度了一下,看到大家推荐本地安装方式,版本还更新。那就干脆转向本地安装方式。参考:https://www.jianshu.com/p/71cf187598ce

    去SourceForge下载后,按照要求修改了site.cfg文件内容

    mysql_config = /usr/local/mysql/bin/mysql_config

    修改完成后,在目录下执行

    sudo python setup.py install

    这时报了一个SSL链接错误:urllib2.HTTPError: HTTP Error 403: SSL is required。接着去Google一下,找到了一个帖子:https://blog.csdn.net/xianglingchuan/article/details/78884368#0-tsina-1-89740-397232819ff9a47a7b7e80a40613cfe1

    那就直接下载了这个.tar.gz文件放到目录中,继续尝试sudo python setup.py install

    报了一个很明显的缺了一个Python什么组件的错,pip安装了一下,继续install。

    然后报了一个 fatal error: 'my_config.h' file not found。看起来还是缺少环境。找到一个文章:https://www.jianshu.com/p/ca0281c96fe4?utm_campaign=maleskine&utm_content=note&utm_medium=reader_share&utm_source=weibo

    那就很明显是缺少一个mysql-connector-c这个环境,那就安装:

    brew install mysql-connector-c

    完毕后,继续sudo python setup.py install

    这次很顺利,没有看到报错了。那就验证一下吧:

    python 

    import MySQLdb

    这次报了一个Reason: image not found

    继续google,找到相应解决方案:http://www.cnblogs.com/ifantastic/archive/2013/04/13/3017677.html

    然后顺便也看到了要改bash的环境,我用的zsh,而且是64位。就在.zshrc文件后追加了

    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

    完成后source ~/.zshrc

    然后处理刚才的image问题:

    sudo ln -s /usr/local/mysql/lib /usr/local/mysql/lib/mysql

    这条没问题

    sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

    这条报了个错,就去本地看了一下这个文件,

    那就简单了:

    sudo ln -s /usr/local/mysql/lib/libmysqlclient.21.dylib /usr/lib/libmysqlclient.21.dylib

    看到路径变色了这才对嘛

    然而还是报错,Operation not permitted

    愣了一下,切换到root执行还是报错。stat看了一下,rwx权限都有,chattr这个命令mac上还没有,应该不是这个问题。google一下,发现:https://blog.csdn.net/z82367825/article/details/55000615#0-tsina-1-11606-397232819ff9a47a7b7e80a40613cfe1

    那就重启进恢复模式执行

    csrutil disable

    完毕后重启电脑,尝试

    python 

    import MySQLdb

    没有问题了,顺利安装完成。虽然说过程一步步各有各的问题出现,但是要学会对症下药,善用搜索引擎,思考每一个报错原因是什么,这样很快就能排除完问题了。

    相关文章

      网友评论

        本文标题:Mysql-Python 在 Mac osx下的安装

        本文链接:https://www.haomeiwen.com/subject/bbrjdftx.html