falsk-sqlalchemy 连接数据库出现 No module named ‘MySQLdb‘(笔记自用)
一:连接参数sqlalchemy使用 create_engine() 函数从URL生成一个数据库链接对象,URL遵循 RFC-1738标准。我也不懂。大概就是要有用户名,密码,地址,端口,数据库名,还有一些可选参数。一个标准的链接URL是这样的:dialect+driver://username:password@host:port/database1.dialect:是数据库类型,大概包括:sq
一:连接参数
sqlalchemy使用 create_engine() 函数从URL生成一个数据库链接对象,URL遵循 RFC-1738标准。我也不懂。大概就是要有用户名,密码,地址,端口,数据库名,还有一些可选参数。一个标准的链接URL是这样的:
dialect+driver://username:password@host:port/database
1.dialect:是数据库类型,大概包括:sqlite, mysql, postgresql, oracle, or mssql.
2.driver:是使用的数据库API,驱动,连接包,随便叫什么吧。
3.username,用户名
4.password,密码
5.host,网络地址,可以用ip,域名,计算机名,当然是你能访问到的。
6.port,数据库端口。
7.databas,数据库名。
其实这些也就dialect和dirver需要解释。
二、连接mysql(mariadb)
sqlalchemy默认使用mysql-python作为链接驱动,既default模式
选哪种驱动,就装哪个包。
1,default默认链接方式
engine = create_engine(‘mysql://scott:tiger@localhost/foo’)
2,# mysql-python,声明使用mysql-python驱动
engine = create_engine(‘mysql+mysqldb://scott:tiger@localhost/foo’)
3,MySQL-connector-python 声明使用MySQL-connector-python驱动(推荐使用)
engine = create_engine(‘mysql+mysqlconnector://scott:tiger@localhost/foo’)
4,OurSQL 声明使用OurSQL驱动
engine = create_engine(‘mysql+oursql://scott:tiger@localhost/foo’)
详细内容请点这里:https://www.cnblogs.com/jackadam/p/8587006.html
三、解决办法
按照 Flask-SQLAlchemy 文档的说明,配置好 SQLALCHEMY_DATABASE_URI = ‘mysql://username:password@server/db’ 后操作 MySQL 报错 ImportError: No module named ‘MySQLdb’。既然缺少 MySQLdb 这个模块,按照常规方法缺啥补啥吧,执行 pip install MySQL-python 却报错 ImportError: No module named ‘ConfigParser’。查了一下,这是由于 MySQL-python 不支持 Python 3(MySQL-3.23 through 5.5 and Python-2.4 through 2.7 are currently supported)。
于是 找到了一个替代—— PyMySQL。执行 pip install PyMySQL,将数据库连接改为 mysql+pymysql://username:password@server/db,接下来的操作就一切正常了。
安装pymysql:pip install pymysql

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)