配环境的一万种坑法

记录下配环境中遇到的坑点.

每个 BUG 都有过人之处, 每个都有他们独门绝招, 斗志和耐性更是技惊四座, 报错信息更是给你意外的惊喜呀!

python 模块 mysqlclient

1
pip install mysqlclient

通常会遇到 build wheel 的错误

1
2
3
4
5
  File "<string>", line 49, in get_config_posix
File "<string>", line 28, in find_package_name
Exception: Can not find valid pkg-config name.
Specify MYSQLCLIENT_CFLAGS and MYSQLCLIENT_LDFLAGS env vars manually
[end of output]

解决方案:

见 mysqlclient 的 doc: 系统需要装好 Python 3 和 MySQL 开发的头文件

1
2
# for Ubuntu/Debian
sudo apt-get install python3-dev default-libmysqlclient-dev build-essential pkg-config

至于 CentOS 系统1, 正常装

1
sudo yum install python3-devel mysql-devel pkgconfig

其中的 mysql-devel 会遇到问题, 如果系统上装好了 MySQL 会出现 conflicts

原因: CentOS 自带 mariaDB, 和 MySQL 不兼容

而 yum 安装 mysql-devel 安装的是 mariaDB 的开发包

解决方案: 去 mysql 官方手动下 rpm 包安装


  1. 这里用的CentOS 7. 如果你问我为什么要用这个发行版的 Linux, 我只能说我也不知道.↩︎