关于pymysql与SQL alchemy连接失败的解决方案

来源:互联网 发布:freebsd 源码 编辑:程序博客网 时间:2024/05/22 05:17
python3.5不支持MySQLdb的数据库驱动,pymysql可以完美支持。

而连接过程中我遇到的一个比较坑的问题,想和大家分享一下,不要笑~

首先我新建个文件 config.py作为配置文件,数据库部分就不多说了,直接上代码
DEBUG = TrueSQLALCHEMY_TRACK_MODIFICATIONS = FalseDIALECT = 'mysql'DRIVER = 'pymysql'USERNAME = 'root'PASSWORD = 'root'HOST = '127.0.0.1'PORT = '3306'DATABASE = 'db_demo1'SQLALCHEMY_DATABASE_URI = "{}+{}://{}:{}@{}:{}/{}?charset=utf8".format(DIALECT, DRIVER, USERNAME, PASSWORD, HOST, PORT, DATABASE)
 下面附上主入口文件
from flask import Flaskfrom flask_sqlalchemy import SQLAlchemyimport configapp = Flask(__name__)app.config.from_object(config)db = SQLAlchemy(app)db.create_all()@app.route('/')def index():    return 'index'if __name__ == '__main__':    app.run()
在确保MySQL服务(控制面板-管理工具-服务-mysql)运行起来以后,运行主入口程序,然后bug来了
* Restarting with stat * Debugger is active! * Debugger PIN: 181-739-912Exception in thread Thread-1: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc9 in position 0: invalid continuation byte

发生编码错误??我编辑的编码是utf8的,py3也不存在py2的繁杂的设置编码的问题,百度了之后也找不到。

后来在与某位大佬交流过才知道,问题出在这里

项目路径是否有中文
python路径或虚拟环境路径是否有中文
计算机名是否有中文

然后突然想起来,前几天手欠改了计算机名称,然后就瘫在寝室一下午。
以后再也不手欠了

阅读全文
0 0
原创粉丝点击