环境配置这个东西很讨厌,但是还必须得配,没办法。这个环境的配置过程也是很多坑,花了一个下午踩坑,由于重启了几次,所以没有截图来记录了。不过还是可以分享一下遇到问题每一步的分析和解决方法。
注:本机已经安装了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
没有问题了,顺利安装完成。虽然说过程一步步各有各的问题出现,但是要学会对症下药,善用搜索引擎,思考每一个报错原因是什么,这样很快就能排除完问题了。
网友评论