「已注销」 2020-12-07 22:52 采纳率: 0%
浏览 255

python3执行SQLAlchemy模块的db.create_all() 报错

app.py

#encoding:utf-8
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import config
import pymysql
#import MySQLdb

from datetime import datetime
app=Flask(__name__)

app.config.from_object(config)
#配置文件实例化
#初始一个对象
db=SQLAlchemy(app)
#pymysql.install_as_MySQLdb()
class Book(db.Model):
    __tablename__ = 'book1'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(50), nullable=False)
    publishing_office = db.Column(db.String(100), nullable=False)
    isbn = db.Column(db.String(100), nullable=False)
    storage_time = db.Column(db.DateTime, default=datetime.now)


db.create_all()  #d对象映射 创建表
book1=Book(id='001',title='AI',publishing_office='higheducation',isbn='978869888')

db.session.add(book1)
try:
    db.session.commit()
except Exception as e:
    print(e)
@app.route('/')
def index():
        return 'index'
@app.route('/select')
def select():
        result=Book.query.filter(Book.id=='3').first()
        print(result.title)
        return "查询数据成功"
if __name__=='__main__':
    app.run()

 

config.py

#encoding:utf-8
#coding:utf-8
#dialect+driver://username:password@host:port/database
DIALECT='MySQL'
DRIVER='pyMySQL'
USERNAME='root'
PASSWORD='root01'
HOST='127.0.0.1'
PORT='3306'
DATABASE='demo_01'
#这个连接字符串变量名是固定的具体 参考 flask_sqlalchemy 文档 sqlalchemy会自动找到flask配置中的 这个变量
SQLALCHEMY_DATABASE_URI='{}+{}://{}:{}@{}:{}/{}?charset=utf8'.format(DIALECT,DRIVER,USERNAME,PASSWORD,HOST,PORT,DATABASE)

#关闭动态跟踪
SQLALCHEMY_TRACK_MODIFICATIONS=False
#查询时会显示原始SQL语句
SQLALCHEMY_ECHO=True

 

执行app.py 报错  can't load plugin:%s:%s  %(self.group,name) sqlalchemy.exc.NoSuchModuleError: Can't load plugin :sqlalchemy.dialects:MySQL.pyMySQL

  • 写回答

1条回答 默认 最新

  • 肖申克的陪伴 6月城市(长春)之星TOP2 2023-07-13 16:14
    关注

    将DRIVER='pyMySQL'这一行替换为DRIVER='pymysql'(小写字母"m"而不是大写字母"M")。驱动程序的正确名称是pymysql。

    评论

    报告相同问题?

    悬赏问题

    • ¥15 matlab有svec这个函数吗?
    • ¥15 无法调用VideoWriter_fourcc
    • ¥15 VB6.0无法加载网页验证码图片到picturebox中,求解。
    • ¥15 C#和GDAL对栅格处理
    • ¥15 我现在有一些关于提升机故障的专有文本数据,量也不多,我在label studio上进行了关系和实体的标注,完成了知识图谱的构造,那么我使用生成式模型的话,我能做哪些工作来写我的论文?
    • ¥15 电脑连不上无线网络如下诊断反馈应该如何操作
    • ¥15 telegram api 使用forward_messages方法转发消息时,目标群组里面会出现此消息来源,如何隐藏?
    • ¥15 关于#tensorflow#的问题:有没有什么方法可以让机器自己学会像素风格的图片
    • ¥15 Oracle触发器字段变化时插入指定值
    • ¥15 docker无法进入容器内部