刚学习python,到数据库这块,需要安装一个MySQLdb。记录下碰到的问题~~~
我的环境:Mac High Sierra 10.13.6 + python 2.7 + XAMPP。
特此说明:以下安装只针对本机以及本人碰到的问题,不一样对任何人通用~~~本人也是装了块一整天才成功
本机安装了两个版本的pyhton,如下。
ygdeMacBook-Pro:MySQL-python-1.2.5 yg$ python --version
Python 2.7.10
ygdeMacBook-Pro:MySQL-python-1.2.5 yg$ python3 --version
Python 3.7.0
ygdeMacBook-Pro:MySQL-python-1.2.5 yg$
由于我本机是已经安装了xampp,不想再安装mysql,在google找到如下这篇文章:
Install MySQL for python on Mac OS 10.9 with XAMPP ====>本篇文章主要参考!!!
这里我主要列下安装步骤
- 从官网下载MySQLdb安装包 http://sourceforge.net/projects/mysql-python/files/latest/download,
并且解压为MySQL-python-1.2.5。 - 更改bash_profile配置文件,
1、vim ~/.bash_profile
2、export DYLD_LIBRARY_PATH=/Applications/XAMPP/xamppfiles/lib
export PATH=/Applications/XAMPP/xamppfiles/bin/:$PATH
3、source .bash_profile - 修改 MySQL-python-1.2.5文件夹里面的 site.cfg,并找到 mysql_config(在第13行)
修改为:mysql_config=/Applications/XAMPP/xamppfiles/bin/mysql_config - 在MySQL-python-1.2.5文件目录,打开终端输入以下命令
sudo python setup.py clean sudo python setup.py build sudo python setup.py install
-
这里编译还有可能出现异常
_mysql.c:44:10: fatal error: 'my_config.h' file not found
这是因为XAMPP等,如果是IDE安装的话,没有编译环境,所以需要单独安装mysql-connector-c或者重新安装mysql
brew install mysql-connector-c
- 安装完成后,在python文件里面测试一下
>>> import MySQLdb >>> MySQLdb.apilevel
如果出现如下错误ImportError: dlopen(/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.9-intel.egg/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib
Referenced from: /Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.9-intel.egg/_mysql.so
Reason: image not found
This is because the mysqllibrary (of XAMPP) could not be found. You should make a link of mysql libray file to your /usr/lib :sudo ln -s /Applications/XAMPP/xamppfiles/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
-
如果 出现 Operation not permitted ,咋整???
参考这个:python操作MySQL数据库出错Reason: unsafe use of relative rpath libmysqlclient.18.dylib
# /Users/yg/.python-eggs/MySQL_python-1.2.5-py2.7-macosx-10.13-intel.egg-tmp/_mysql.so
把上面这个文件_mysql.so贴到/Library/Python/2.7/site-packages/目录下,然后执行如下命令即可 -
sudo install_name_tool -change libmysqlclient.18.dylib \ /Applications/XAMPP/xamppfiles/lib/libmysqlclient.18.dylib \ /Library/Python/2.7/site-packages/_mysql.so
参考:mac安装mysqldb-Python
学习Python on mac©️操作mysql
OS X 10.11 下解决Python-MysqlDB无法使用的问题
Python mysqldb: Library not loaded: libmysqlclient.18.dylib
来源:oschina
链接:https://my.oschina.net/u/914271/blog/2045670