ubuntu20 python2 通过安装包安装mysql-python
前言
众里寻他千百度,蓦然回首,那人却在灯火阑珊处。
最近要测试一个python2环境的代码,其中用到了MySQLdb, 查询网络,发现要安装mysql-python,于是就进行了一番艰难的探索,现在汇总记录一下,希望能过够为大家提供些许帮助。
解决方案
本方案前提默认已经安装配置好了mysql环境。
安装python2
sudo apt-get install python2
sudo apt-get install python2-dev安装pip2
wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
python get-pip.py配置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
安装依赖
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使用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
主要参考博客
解决mac _mysql.c:44:10: fatal error: ‘my_config.h‘ file not found
麒麟安装MySQL-python报错:_mysql.c:1804:41: 错误:‘MYSQL {或称 struct st_mysql}’没有名为‘reconnect’的成员
ubuntu20 python2 通过安装包安装mysql-python的更多相关文章
- windows 下使用 zip安装包安装MySQL 5.7
以下内容参考官方文档:http://dev.mysql.com/doc/refman/5.7/en/windows-start-command-line.html 解压缩zip到D:\mysql-5. ...
- centos7 二进制安装包安装 mysql5.6
centos7 二进制安装包安装 mysql5.6 一.下载mysql5.6二进制安装包 http://mirrors.sohu.com/mysql/MySQL-5.6/ 如:mysql-5.6.34 ...
- 安装包安装npm
在阿里云机器上centos7安装npm可以直接yum安装,然后基于镜像的时候安装不了,直接使用安装包安装,记录一下: 官网下载地址:https://nodejs.org/en/download/ #! ...
- lnmp1.5一键安装包安装lnmpa后,添加站点
lnmp1.5一键安装包安装lnmpa后,添加站点 (1)添加站点 (2)配置apache配置文件 在/usr/local/apache/conf/vhost文件夹下,修改webApp站点配置文件ap ...
- centos7下使用mysql离线安装包安装mysql5.7
服务器环境: centos7 x64 需要安装mysql5.7+ 一.卸载CentOS7系统自带mariadb # 查看系统自带的Mariadb [root@CDH-141 ~]# rpm -qa|g ...
- mysql非安装包安装教程
设置mysql的环境变量 本人设置安装的路径是:E:\WebApplication\webMySQL\mysql-5.7.13-winx64 我的电脑 ---> 高级系统配置 ---> 环 ...
- 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 ...
- mysql安装包安装
Centos7.4在无网环境下的Mysql简易安装,使用tar包安装MySQL. 使用的资源: mysql5.7安装包:链接:https://pan.baidu.com/s/1tUJs97Gi-ksy ...
- 解决 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 ...
- 问题: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 ...
随机推荐
- Selenium4自动化测试2--元素定位By.ID,By.CLASS_NAME,By.TAG_NAME
三.元素定位方式 1-通过id定位,By.ID id属性在HTML中是唯一的,因此使用id定位可以确保找到页面上唯一的元素. 由于id是唯一的,浏览器在查找元素时可以快速定位到目标元素,提高了定位的效 ...
- 一图明白ACHI,SATA之间的关系
从上图中可以看到,SATA与PCI-E不仅可以指代物理的接口,还可以指代物理接口使用的传输协议. M.2物理接口可以使用SATA.PCI-E传输协议. U.2可以使用PCI-E传输协议.在网上搜了一下 ...
- iOS中atomic修饰符的底层实现
在iOS中,atomic表示一个类的属性getter/setter具有原子性.那么iOS底层是如何保证这种原子性的呢? 我们有一个类A,它有一个属性X具有atomic: @property (atom ...
- java学习之旅(day.15)
IO框架 I:input O:output 流:内存与存储设备间传输数据的通道 数据借助流进行传输 流的分类 按流向分: 输入流:将存储设备中的内容读入到内存中(程序运行) 输出流:将内存中的内容写入 ...
- Django项目windows上开发,虚拟机上调通打包,生产环境解压即用
linux上部署Django项目 首先创建一个简易的Django项目 使用自动生成的这个数据库 压缩上传 解压运行,不可以 [root@mcw1 /opt/mcwtest]$ ls app01 db. ...
- Linux下mv和cp命令的区别
1.功能上的区别 mv:用户可以使用mv为文件或目录重命名或将文件由一个目录移入另一个目录中. cp: cp的功能是将给出的文件或目录拷贝到另一文件或目录中. 2.inode上的区别(inod ...
- mysql存储地理信息的方法
MySQL 存储地理信息通常使用 GEOMETRY 数据类型或其子类型(如 POINT, LINESTRING, POLYGON 等).为了支持这些数据类型,MySQL 提供了 SPATIAL 索引, ...
- PaddleOCR在 windows下的webAPI部署方案
很多小伙伴在使用OCR时都希望能过采用API的方式调用,这样就可以跨端跨平台了.本文将介绍一种基于python的PaddleOCR识方案.喜欢的可以关注公众号,获取更多内容. # 一. windows ...
- Dijkstra(迪杰斯特拉)算法
Dijkstra是什么算法 Dijkstra是典型最短路径算法,用于计算一个节点到其他节点的最短路径.该算法使用的是贪心策略:每次都找出剩余顶点中与源点距离最近的一个顶点. 什么是最短路径问题 给定 ...
- SMOGN算法Python实现:解决回归分析中的数据不平衡
本文介绍基于Python语言中的smogn包,读取.csv格式的Excel表格文件,实现SMOGN算法,对机器学习.深度学习回归中,训练数据集不平衡的情况加以解决的具体方法. 在不平衡回归问题 ...