mac系统安装mysqlclient的一些坑(附解决方法)


最近在学习Django,做ORM模型实验时候,我看老师用到数据库了,然后windows电脑就 pip install mysqlclient 安装就完事了。

我的是mac,到我这就悲剧了,一个坑接着一个坑跳,我看网上有的人因为这个东西搞了一天的都有(手动“哭”)!

直接上方法,不错,就是mysqlclient源码github目录直接有解决方法,操作标红的部分即可。

 --------------------------------------------------------

Install

Prerequisites

You may need to install the Python and MySQL development headers and libraries like so:

  • sudo apt-get install python-dev libmysqlclient-dev # Debian / Ubuntu
  • sudo yum install python-devel mysql-devel # Red Hat / CentOS
  • brew install mysql-connector-c # macOS (Homebrew) (Currently, it has bug. See below)

On Windows, there are binary wheels you can install without MySQLConnector/C or MSVC.

Note on Python 3 : if you are using python3 then you need to install python3-dev using the following command :

sudo apt-get install python3-dev # debian / Ubuntu

sudo yum install python3-devel # Red Hat / CentOS

Note about bug of MySQL Connector/C on macOS

See also: https://bugs.mysql.com/bug.php?id=86971

Versions of MySQL Connector/C may have incorrect default configuration options that cause compilation errors when mysqlclient-python is installed. (As of November 2017, this is known to be true for homebrew's mysql-connector-cand official package)

Modification of mysql_config resolves these issues as follows.

Change

# on macOS, on or about line 112: # Create options libs="-L$pkglibdir" libs="$libs -l " 

to

# Create options libs="-L$pkglibdir" libs="$libs -lmysqlclient -lssl -lcrypto"

 --------------------------------------------------------

解决方案:

 步骤一

安装mysql-connector-c

brew install mysql-connector-c

步骤二

修改mysql_config,这个文件在/usr/local/bin/mysql_config,实际在/usr/local/Cellar/mysql/8.0.23_1/bin/mysql_config

直接修改

# 记得sudo,不然没有权限,大概在文件120行左右(:set number 显示行号)

sudo vi /usr/local/bin/mysql_config
 # Create options libs="-L$pkglibdir" libs="$libs -l " 

# 修改为

# Create options libs="-L$pkglibdir" libs="$libs -lmysqlclient -lssl -lcrypto"

步骤三

pip install mysqlclient

 

问题:

还遇到一个坑,客户端就是下载不下来。不用想了,换个源吧,我换了中科大的源解决了

解决方案:

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

 

 

参考链接:

https://my.oschina.net/u/914655/blog/1594267

https://zhuanlan.zhihu.com/p/111014448


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM