python mysqldb 获取到的数据小数位数不对_python使用mysql的一些坑

注意:如果你用的是python3.x,直接去看第四个问题

遇到的第一个问题

正常来说直接执行pip安装,就是可以的,但是MySQL-python偏偏比较独特

pip install MySQL-python

报错

_mysql.c:44:10: fatal error: 'my_config.h' file not found

#include "my_config.h"

^~~~~~~~~~~~~

1 error generated.

error: command 'cc' failed with exit status 1

解决第一个问题

执行brew install mysql-connector-c

brew install mysql-connector-c

如果这一步直接完成,那就可以继续pip install MySQL-python了,应该会成功

但是我在这一步执行失败了

遇到第二个问题

brew install mysql-connector-c报错

Error: Cannot install mysql-connector-c because conflicting formulae are installed.

mysql: because both install MySQL client libraries

Please `brew unlink mysql` before continuing.

解决第二个问题

按照报错的提示,执行brew unlink mysql

没有发生什么意外,执行完毕,继续执行brew install mysql-connector-c

'mysql-connector-c'安装成功

执行brew link --overwrite mysql,重新连接mysql(这一步我没有做)

然后再执行pip install MySQL-python,如果成功了就搞定了

神奇的是,我在这一步又失败了

遇到的第三个问题

上面的步骤走完以后,执行pip install MySQL-python,报错

Collecting mysql

Downloading https://files.pythonhosted.org/packages/06/ef/c4efbf2a51fb46aba9be03a973638d9539c9ca10a5259b2cbb1a66133b2e/mysql-0.0.1.tar.gz

Collecting MySQL-python (from mysql)

Using cached https://files.pythonhosted.org/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/MySQL-python-1.2.5.zip

Complete output from command python setup.py egg_info:

Traceback (most recent call last):

File "", line 1, in

File "/private/var/folders/zn/t8xxx4m149s9jqp1810ndrz80000gn/T/pip-install-oHMKPE/MySQL-python/setup.py", line 17, in

metadata, options = get_config()

File "setup_posix.py", line 53, in get_config

libraries = [ dequote(i[2:]) for i in libs if i.startswith(compiler_flag("l")) ]

File "setup_posix.py", line 8, in dequote

if s[0] in "\"'" and s[0] == s[-1]:

IndexError: string index out of range

解决第三个问题

修改mysql的配置文件mysql_config,修改前记得cp一下

执行mysql_config,查看一下路径

打开文件vim mysql_config,找到libs="$libs -l ",改为libs="$libs -lmysqlclient -lssl -lcrypto "

libs="-L$pkglibdir"

# libs="$libs -l " # 原来的

libs="$libs -lmysqlclient -lssl -lcrypto " # 更改后的

embedded_libs="-L$pkglibdir"

embedded_libs="$embedded_libs -l "

再来一遍pip install MySQL-python

终于成功了!可喜可贺!可喜可贺!

小心翼翼的试一下,import MySQLdb,真的成功了

发现第四个问题

开始使用的时候,发现自己用的是python2.x的环境,换成python3.x继续用

在import MySQLdb的时候又出问题了,ModuleNotFoundError: No module named 'MySQLdb'

尝试使用pip3 install MySQL-python再安装一次,报错

Collecting MySQL-python

Using cached https://files.pythonhosted.org/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/MySQL-python-1.2.5.zip

Complete output from command python setup.py egg_info:

Traceback (most recent call last):

File "", line 1, in

File "/private/var/folders/07/v8slhf9x5zsbbd8_9cd5ztnh0000gp/T/pip-install-oh_74ez5/MySQL-python/setup.py", line 13, in

from setup_posix import get_config

File "/private/var/folders/07/v8slhf9x5zsbbd8_9cd5ztnh0000gp/T/pip-install-oh_74ez5/MySQL-python/setup_posix.py", line 2, in

from ConfigParser import SafeConfigParser

ModuleNotFoundError: No module named 'ConfigParser'

----------------------------------------

Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/07/v8slhf9x5zsbbd8_9cd5ztnh0000gp/T/pip-install-oh_74ez5/MySQL-python/

解决第四个问题

查到了原因,感到一阵阵的无语

In Python 3, ConfigParser has been renamed to configparser for PEP 8 compliance. It looks like the package you are installing does not support Python 3.

在Python3中,ConfigParser为了符合PEP8规范,已重命名为configparser。看起来你正在安装的软件包不支持Python3。

因为不支持python3,建议使用pip install pymysql,安装也没那么多套路

其实也找到了解决方案(没有测试,我也不知道对不对,单纯的记录一下)

方法一, 修改six模块为

try:

import configparser

except:

from six.moves import configparser

方法二

cp /usr/local/lib/python3.7/configparser.py /usr/local/lib/python3.7/ConfigParser.py

最后是交流群887934385,探讨技术,学习提升。

Python操作MySQL的一些坑

pip安装库时遇到的问题   我使用ubuntu系统通过pip安装MySQLdb库的时候,报了一堆错,解决了半天,没搞定.然后安装另一个库pymysql一下就OK了,它们的功能都是一样的.这个问题我没 ...

Python与Mysql交互

#转载请联系 在写内容之前,先放一张图,bling- 这张图算是比较详细的表达出了web开发都需要什么.用户访问网页,就是访问服务器的网页文件.这些网页文件由前端工程师编写的.服务器通常用nginx/ ...

【初学python】使用python连接mysql数据查询结果并显示

因为测试工作经常需要与后台数据库进行数据比较和统计,所以采用python编写连接数据库脚本方便测试,提高工作效率,脚本如下(python连接mysql需要引入第三方库MySQLdb,百度下载安装) # ...

Python(九) Python 操作 MySQL 之 pysql 与 SQLAchemy

本文针对 Python 操作 MySQL 主要使用的两种方式讲解: 原生模块 pymsql ORM框架 SQLAchemy 本章内容: pymsql 执行 sql 增\删\改\查 语句 pymsql ...

使用 python 管理 mysql 开发工具箱 - 1

Mysql 是一个比较优秀的开源的数据库,很多公司都在使用.作为运维人员,经常做着一些重复性的工作,比如创建数据库实例,数据库备份等,完全都可以使用 python 编写一个工具来实现. 一.模块 Co ...

Python操作MySQL

本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb ...

关于python数据序列化的那些坑

-----世界上本来没那么多坑,python更新到3以后坑就多了 无论哪一门语言开发,都离不了数据储存与解析,除了跨平台性极好的xml和json之外,python要提到的还有自身最常用pickle模块 ...

Python操作Mysql数据库时SQL语句的格式问题

一.概述 近日使用Python对Mysql数据库进行操作,遇到SQL语句死活出问题的情况.由于最初没有将异常打印出来,一直不知道原因.随后,将异常打印出来之后,通过异常信息,对代码进行修改.最终,成功 ...

随机推荐

C#对图片的操作

1.根据图片路径返回字节 public static byte[] getImageByte(string imagePath) { FileStream files = new FileStream ...

修改vs helpview手册路径

Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Help\v2.1\Ca ...

VB6.0和VB.Net的函数等对照表

VB6.0和VB.Net的对照表 VB6.0 VB.NET AddItem Object名.AddItem Object名.Items.Add ListBox1.Items.Add ComboBox1 ...

java输入函数

import java.util.*; class Test{ public static void main(String[] args){ Scanner x=new Scanner(System ...

java环境中基于jvm的两大语言:scala,groovy

一.java环境中基于jvm的两大语言:scala,groovy 可以在java项目里混编这两种语言: scala:静态语言,多范式语言,糅合了面向对象.面向过程:可以与java和net互操作:融汇了 ...

用sitemap做主页的菜单栏

首先打开vs--> 新建项-->选择站点地图. 站点地图建好了  其中具体的节点根据自己情况配好就行. 接下来是两个非常重要的类: using System.Collections.Gen ...

MySQL基本概念以及简单操作

一.MySQL   MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MyS ...

JUnit - 测试框架

什么是 Junit 测试框架? JUnit 是一个回归测试框架,被开发者用于实施对应用程序的单元测试,加快程序编制速度,同时提高编码的质量.JUnit 测试框架能够轻松完成以下任意两种结合: Ecli ...

sgu 129 Inheritance 凸包,线段交点,计算几何 难度:2

129. Inheritance time limit per test: 0.25 sec. memory limit per test: 4096 KB The old King decided ...

Even and Odd Functions

\subsection{Even and Odd Functions} For a function $f$ in the form $y=f(x)$, we describe its type of ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值