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

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

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

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

python manage.py db init      //创建migrate环境
python manage.py db migrate    //生成migrate版本文件
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)中:

import pymysql
pymysql.install_as_MySQLdb()    //手动指定将MySQLdb转给pymysql处理
完工。
  • 11
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值