解决python3下mysqldb不支持-只有这个是成功的!浪费一个晚上。

解决python3下mysqldb不支持-只有这个是成功的!

转载

解决python3下mysqldb不支持

2017年10月09日 18:33:24 JunFeng666 阅读数 12536更多

分类专栏: Others

MySQLdb 只适用于python2.x,发现pip装不上。它在py3的替代品是:import pymysql

安装pymysql

一些框架默认仍然用的是MySQLdb,但是python3已经不支持MySQLdb,取而代之的是pymysql,因此运行的时候会报
ImportError: No module named ‘MySQLdb’

(老乐是在使用sqlalchemy的时候出现的错误)
在sqlalchemy下的init.py中写入以下两行
路径是/usr/local/lib/python3.6/site-packages/sqlalchemy

pymysql.install_as_MySQLdb(),这句最好用。

import pymysql

pymysql.install_as_MySQLdb()
  • 1
  • 2
  • 3

注意用sudo打开,否则不能保存

问题解决!


——-补充说明
如果是要部署到服务器,建议还是解决一下环境的问题,单单只在自己本地电脑是可以解决这个问题,但是有可能放到服务器的时候,服务器仍然不能运行甚至挂掉


转自 —-栖迟於一丘
原文链接(https://www.hongweipeng.com/index.php/archives/1142/

 

##################################################################

让python3.X支持MySQLDB的终极解决方案

2018年05月22日 16:22:47 luanxiyuan 阅读数 5786更多

分类专栏: 编程语言 - Python

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/luanxiyuan/article/details/80407085

python初学者在使用SqlAlchemy时候遇到的坑最多,国内网站的开发这好多都是班门弄斧,将别人的解决方案直接ctrl+V放到自己的博客中,也不知道是不是真的好用,这个对一些想要查找解决方案的群众是个莫大的干扰,有多少人遇到问题尝试上面说的各种方法,但最后问题还在那里,一动不动。话不多说,我遇到的问题是:

先说下背景:python3.6(这个很重要!python生态发展至今,各版本的包支持性鱼龙混杂,所以大家在查找问题时候一定要先声明你得版本号)

在使用flask-migrate包,将模型对象转化为数据库表的过程中,需要分别执行三个命令:

 
  1. python manage.py db init     //创建migrate环境

  2. python manage.py db migrate    //生成migrate版本文件

  3. python manage.py db upgrade    //执行migrate更新

在执行init步骤是就开始报如下错误:

这时候不要相信网上说的一些方案,什么吧mysql的lib目录下的dll文件copy到python的site-packages目录下,什么网上下载两个dll文件放到python的site-packages目录下,统统不要信。

原因是:MySQLdb不支持python3.x,没错就这么简单

解决方案:python3.x中用了pymysql来代替MySQLdb,所以先要将pymysql包安装上:

pip install pymysql

再尝试一下,还有问题。因为包虽然安装了,但是默认他还是会找MySQLdb,所以我们需要手动指定一下,在应用主文件(__init.py__/app.py)中:

 
  1. import pymysql

  2. pymysql.install_as_MySQLdb()    //手动指定将MySQLdb转给pymysql处理

完工。

#########################

 

 

 

#####################################

原因

MySQLdb 只适用于python2.x,发现pip装不上。它在py3的替代品是:import pymysql

pip install pymysql

django+mysql

而Django默认的还是使用MySQLdb:执行会报:ImportError: No module named 'MySQLdb'

解决: 在站点的 __init__.py 文件中添加

 

 

import pymysql
pymysql.install_as_MySQLdb()

pymysql.install_as_MySQLdb(),这句最好用。

 

 #######################

python3不再支持mysqldb 请用pymysql和mysql.connector

2016年04月13日 20:54:18 bwlab 阅读数 18788更多

分类专栏: Linux运维

虽然大家可能在python2.x中用习惯了mysqldb,但是在python3.x中已经不支持那个组件了。

取而代之的是:

import pymysql

所以,大家pip起来吧。另外,mysql官方出了个mysql.connector,也可以用。

我这用的例子如下:

import pymysql
conn = pymysql.connect(host=’127.0.0.1’, port=3306, user=’root’, passwd=’test’,
db=’mysql’)
cur = conn.cursor()
cur.execute(“SELECT * FROM user”)
for r in cur.fetchall():
print(r)
#cur.close()
conn.close()

 

#######################

python-连接MySQL(mysql.connector与MySQLdb区别)

2018年09月15日 12:23:42 Java小宝 阅读数 2503

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/xiaobao5214/article/details/82712778

 

1.安装mysql-connector 命令    pip install mysql-connector 

 
  1. import mysql.connector

  2. cnx = mysql.connector.connect(user='root', password='123456',host='127.0.0.1',database='employees')

  3. cnx.close()

2.安装 MySQLdb命令   pip install  MySQLdb

(该适用linux不适用windows, 在windows环境中需要安装exe下载地址 http://www.codegood.com/downloads)

 
  1. import MySQLdb

  2.  
  3. db = MySQLdb.connect(host="localhost", # your host, usually localhost

  4. user="root", # your username

  5. passwd="123456", # your password

  6. db="employeedb",

  7. port = 3306) # name of the data base

  8.  
  9. cur = db.cursor()

  10. cur.execute("select * from emp")

 

两者区别:

  mysql-connector是一个Python模块,它在Python中重新实现MySQL协议,它比较慢,但不需要C库,因此更便携。

MySqLDB是一个C模块,它使用MySQL客户端库中的MySQL协议实现相链接,它更快,但是需要C库才能工作。
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python3中,可以使用两个模块来操作MySQL数据库,分别是pymysql和MySQLdb。pymysql是一个纯Python实现的模块,其API接口与MySQLdb完全兼容,并且安装方便,支持Python3。你可以通过以下步骤来安装pymysql模块: 1、在命令行中输入"pip install PyMySQL"来安装pymysql。 2、在Pycharm中引入pymysql模块。而MySQLdb是一个最早出现的操作MySQL数据库的模块,其核心是由C语言编写的,接口精炼,性能最佳。然而,MySQLdb存在一些缺点,例如环境依赖较多,安装稍复杂,并且只支持Python2.x,不支持Python3.x。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Python3 操作 MySQL](https://blog.csdn.net/Richardlygo/article/details/100171717)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Python3连接MySQL](https://blog.csdn.net/qq_35029061/article/details/126628696)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值