不同操作系统Windows/Linux/MacOS中python环境通过pip安装mysqlclient遇到的问题及解决方案。
在python开发中,有时候直接执行下面的语句安装mysqlclient 包,可能会遇到一些错误:
pip install mysqlclient
可能通过以下命令升级工具解决一部分问题,但主要还是要解决依赖库问题:
# 升级安装工具,可以避免很多错误
pip3 install --upgrade pip
python3 -m pip install --upgrade setuptools
pip3 install --no-cache-dir --force-reinstall -Iv grpcio==<version_number>
pip2 install --upgrade pip
python2 -m pip install --upgrade setuptools
yum install redhat-lsb -y
Windows
Building mysqlclient on Windows is very hard. But there are some binary wheels you can install easily.
macOS (Homebrew)
Install MySQL and mysqlclient:
# Assume you are activating Python 3 venv
$ brew install mysql
$ pip install mysqlclient
If you don't want to install MySQL server, you can use mysql-client instead:
# Assume you are activating Python 3 venv
$ brew install mysql-client
$ echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.bash_profile
$ export PATH="/usr/local/opt/mysql-client/bin:$PATH"
$ pip install mysqlclient
Linux
Note that this is a basic step. I can not support complete step for build for all environment.
If you can see some error, you should fix it by yourself, or ask for support in some user forum.
Don't file a issue on the issue tracker.
You may need to install the Python 3 and MySQL development headers and libraries like so:
$ sudo apt-get install python3-dev default-libmysqlclient-dev build-essential # Debian / Ubuntu
% sudo yum install python3-devel mysql-devel # Red Hat / CentOS
Then you can install mysqlclient via pip now:
$ pip install mysqlclient
Customize build (POSIX)
mysqlclient uses mysql_config or mariadb_config by default for finding compiler/linker flags.
You can use MYSQLCLIENT_CFLAGS and MYSQLCLIENT_LDFLAGS environment variables to customize compiler/linker options.
$ export MYSQLCLIENT_CFLAGS=`pkg-config mysqlclient --cflags`
$ export MYSQLCLIENT_LDFLAGS=`pkg-config mysqlclient --libs`
$ pip install mysqlclient
Documentation
https://packaging.python.org/tutorials/installing-packages/