前言

众里寻他千百度,蓦然回首,那人却在灯火阑珊处。

最近要测试一个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这两个包 (具体下载的包以上一步搜到的为准比如有的是:libmysqlcppconn-dev,default-libmysqld-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, 安装成功!

如果安装过程中报错:

_mysql.c:1804:41: error: ‘MYSQL’ {aka ‘struct st_mysql’} has no member n

可以参考:麒麟安装MySQL-python报错:_mysql.c:1804:41: 错误:‘MYSQL {或称 struct st_mysql}’没有名为‘reconnect’的成员:

1. 下载包,官网下载都行。

pip download MySQL-python==1.2.3

2. 解包修改

tar -zxf MySQL-python-1.2.3.tar.gz

cd MySQL-python-1.2.3/

vi _mysql.c +1804 ,  注释内容:/* if ( reconnect != -1 ) self->connection.reconnect = reconnect; */

tar -zcf MySQL-python-1.2.3.tar.gz MySQL-python-1.2.3

 3. 安装修改过的tar 包。

pip install MySQL-python-1.2.3.tar.gz

主要参考博客

  1. mysql-python安装时EnvironmentError: mysql_config not found

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

  3. 麒麟安装MySQL-python报错:_mysql.c:1804:41: 错误:‘MYSQL {或称 struct st_mysql}’没有名为‘reconnect’的成员

ubuntu20 python2 通过安装包安装mysql-python的更多相关文章

  1. windows 下使用 zip安装包安装MySQL 5.7

    以下内容参考官方文档:http://dev.mysql.com/doc/refman/5.7/en/windows-start-command-line.html 解压缩zip到D:\mysql-5. ...

  2. centos7 二进制安装包安装 mysql5.6

    centos7 二进制安装包安装 mysql5.6 一.下载mysql5.6二进制安装包 http://mirrors.sohu.com/mysql/MySQL-5.6/ 如:mysql-5.6.34 ...

  3. 安装包安装npm

    在阿里云机器上centos7安装npm可以直接yum安装,然后基于镜像的时候安装不了,直接使用安装包安装,记录一下: 官网下载地址:https://nodejs.org/en/download/ #! ...

  4. lnmp1.5一键安装包安装lnmpa后,添加站点

    lnmp1.5一键安装包安装lnmpa后,添加站点 (1)添加站点 (2)配置apache配置文件 在/usr/local/apache/conf/vhost文件夹下,修改webApp站点配置文件ap ...

  5. centos7下使用mysql离线安装包安装mysql5.7

    服务器环境: centos7 x64 需要安装mysql5.7+ 一.卸载CentOS7系统自带mariadb # 查看系统自带的Mariadb [root@CDH-141 ~]# rpm -qa|g ...

  6. mysql非安装包安装教程

    设置mysql的环境变量 本人设置安装的路径是:E:\WebApplication\webMySQL\mysql-5.7.13-winx64 我的电脑 ---> 高级系统配置 ---> 环 ...

  7. MySql(零):Linux(CentOS7)下安装和配置MySQL5.7.20(安装包安装)

    一.下载安装包 1.在官网下载MySQL5.7安装包 mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz. 下载地址:https://dev.mysql.com/do ...

  8. mysql安装包安装

    Centos7.4在无网环境下的Mysql简易安装,使用tar包安装MySQL. 使用的资源: mysql5.7安装包:链接:https://pan.baidu.com/s/1tUJs97Gi-ksy ...

  9. 解决 win10 pycurl安装出错 Command "python setup.py egg_info" failed with error code 10 编译安装包 安装万金油

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/yexiaohhjk/article/de ...

  10. 问题:python2.7 安装包失败,提示错误:Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat)

    问题描述: 使用pip安装包时报错,error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat) 环境: pyt ...

随机推荐

  1. 支持4K60帧,高清高帧率远程控制软件

    设计师可以在家远程工作吗?动画制作人员可以远程在家工作吗?视频后期人员可以远程在家工作吗? 相比其他领域,设计.动画.影视视频后期等行业,往往需要高端机运行大型专业软件,一般人家里不具备这个办公条件. ...

  2. 密码学—仿射密码Python程序

    文章目录 仿射密码 加密算法 解密算法 仿射密码 古典密码,且属于单表加密. 加密算法 仿射密码公式 c = m×k + b mod 26 c是密文,m是明文,m作为26字母中的明文,因此计算出来的密 ...

  3. C 语言编程 — 高级数据类型 — 结构体与位域

    目录 文章目录 目录 前文列表 结构体 定义结构体 初始化结构体变量 访问结构体成员 将结构体作为实参传入函数 指向结构体变量的指针 位域 定义位域 使用位域结构体的成员 前文列表 <程序编译流 ...

  4. 5G 系统流程系列:AF 的 Traffic Routing Control 以及 UP 路径管理增强

    目录 文章目录 目录 前言 引用 术语 AF 接入 5GC 的 3 种方式 AF Request 及其 Service Information 流量描述(Traffic Description) N6 ...

  5. 守护安全|AIRIOT城市天然气综合管理解决方案

      城市使用天然气存在安全风险和隐患,天然气管理的复杂性也比较高,依靠传统人工难以发现安全漏洞,特别是在燃气场站.管网的安全监管等方面,场站面临作业管理.区域管控等问题,管线存在第三方施工发现问题不及 ...

  6. hadoop部署2

    完全分布式部署介绍 学习目标 完全分部式是真正利用多台Linux主机来进行部署Hadoop,对Linux机器集群进行规划,使得Hadoop各个模块分别 部署在不同的多台机器上. 能够了解完全分布式部署 ...

  7. 『手撕Vue-CLI』拉取模板名称

    前言 好,经过上篇文章的介绍,已经可以有处理不同指令的能力了,接下来我们就来处理 vue create 指令,这个指令的本质就是从网络上下载提前准备好的模板,然后再自动安装模板中相关依赖. 所以实现 ...

  8. es 排序突然很慢的原因

    今天突然之间发现一个访问es的查询很慢.由刚上线之前测试的100ms直接到了5s左右.瞬间懵逼. 这个用户索引大概200w的数据. 查询语句如下 GET /user/_search{"fro ...

  9. go语言开发的内网穿透工具,frp.

    转载自:https://www.appinn.com/frp/ 什么是 Frp? 内网穿透工具有很多,其中 Frp (Fast Reverse Proxy) 是比较流行的一款.FRP 是一个免费开源的 ...

  10. VS2019编译Opencv4.6.0GPU版本(支持40系显卡)

    1 准备工具 CMake CUDA Toolkit + CUDNN VIstual Studio 2019 OpenCV + OpenCV_contrib 点击上面链接跳转,我使用的是CMake3.2 ...