ubuntu20 python2 通过安装包安装mysql-python


前言

众里寻他千百度,蓦然回首,那人却在灯火阑珊处。
最近要测试一个python2环境的代码,其中用到了MySQLdb, 查询网络,发现要安装mysql-python,于是就进行了一番艰难的探索,现在汇总记录一下,希望能过够为大家提供些许帮助。

解决方案

本方案前提默认已经安装配置好了mysql环境。

  1. 安装python2
    sudo apt-get install python2
    sudo apt-get install python2-dev

  2. 安装pip2
    wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
    python get-pip.py

  3. 配置pip国内镜像源,如果已配置,可忽略此步
    在/root/下,mkdir .pip
    在/root/.pip/目录下,touch pip.conf
    编辑pip.conf

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=pypi.tuna.tsinghua.edu.cn
  1. 安装依赖
    aptitude search mysql | grep devel
    可以发现,需要libmysql++-dev, libmysqlclient-dev这两个包
    sudo apt-get install libmysql++-dev
    sudo apt-get install libmysqlclient-dev

  2. 使用MySQL-python-1.2.3安装包安装
    安装包地址:MySQL-python-1.2.3
    下载解压后,放到ubuntu中.

此时,如果在解压目录运行:python2 setup.py install,会报错:mysql_config not found
需要找到mysql_config地址:
sudo updatedb
locate mysql_config
我的地址在:/usr/bin/mysql_config
接着,修改MySQL-python-1.2.3目录中的setup_posix.py:
把 mysql_config.path = "mysql_config" 修改为 mysql_config.path = "/usr/bin/mysql_config"

如果再运行python2 setup.py install, 会报错:'my_config.h' file not found
需要找到mysql.h位置,并在同位置把mysql.h复制为my_config.h
locate mysql.h
cd /usr/include/mysql/
cp mysql.h my_config.h

再次运行python2 setup.py install, 安装成功!

主要参考博客

  1. 解决mac _mysql.c:44:10: fatal error: ‘my_config.h‘ file not found