falsk-sqlalchemy 连接数据库出现 No module named ‘MySQLdb‘(笔记自用)
一:連接參數(shù)
sqlalchemy使用 create_engine() 函數(shù)從URL生成一個(gè)數(shù)據(jù)庫(kù)鏈接對(duì)象,URL遵循 RFC-1738標(biāo)準(zhǔn)。我也不懂。大概就是要有用戶名,密碼,地址,端口,數(shù)據(jù)庫(kù)名,還有一些可選參數(shù)。一個(gè)標(biāo)準(zhǔn)的鏈接URL是這樣的:
dialect+driver://username:password@host:port/database1.dialect:是數(shù)據(jù)庫(kù)類型,大概包括:sqlite, mysql, postgresql, oracle, or mssql.
2.driver:是使用的數(shù)據(jù)庫(kù)API,驅(qū)動(dòng),連接包,隨便叫什么吧。
3.username,用戶名
4.password,密碼
5.host,網(wǎng)絡(luò)地址,可以用ip,域名,計(jì)算機(jī)名,當(dāng)然是你能訪問(wèn)到的。
6.port,數(shù)據(jù)庫(kù)端口。
7.databas,數(shù)據(jù)庫(kù)名。
其實(shí)這些也就dialect和dirver需要解釋。
二、連接mysql(mariadb)
sqlalchemy默認(rèn)使用mysql-python作為鏈接驅(qū)動(dòng),既default模式
選哪種驅(qū)動(dòng),就裝哪個(gè)包。
1,default默認(rèn)鏈接方式
engine = create_engine(‘mysql://scott:tiger@localhost/foo’)
2,# mysql-python,聲明使用mysql-python驅(qū)動(dòng)
engine = create_engine(‘mysql+mysqldb://scott:tiger@localhost/foo’)
3,MySQL-connector-python 聲明使用MySQL-connector-python驅(qū)動(dòng)(推薦使用)
engine = create_engine(‘mysql+mysqlconnector://scott:tiger@localhost/foo’)
4,OurSQL 聲明使用OurSQL驅(qū)動(dòng)
engine = create_engine(‘mysql+oursql://scott:tiger@localhost/foo’)
詳細(xì)內(nèi)容請(qǐng)點(diǎn)這里:https://www.cnblogs.com/jackadam/p/8587006.html
三、解決辦法
按照 Flask-SQLAlchemy 文檔的說(shuō)明,配置好 SQLALCHEMY_DATABASE_URI = ‘mysql://username:password@server/db’ 后操作 MySQL 報(bào)錯(cuò) ImportError: No module named ‘MySQLdb’。既然缺少 MySQLdb 這個(gè)模塊,按照常規(guī)方法缺啥補(bǔ)啥吧,執(zhí)行 pip install MySQL-python 卻報(bào)錯(cuò) 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)。
于是 找到了一個(gè)替代—— PyMySQL。執(zhí)行 pip install PyMySQL,將數(shù)據(jù)庫(kù)連接改為 mysql+pymysql://username:password@server/db,接下來(lái)的操作就一切正常了。
安裝pymysql:pip install pymysql
總結(jié)
以上是生活随笔為你收集整理的falsk-sqlalchemy 连接数据库出现 No module named ‘MySQLdb‘(笔记自用)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Python中if __name__ =
- 下一篇: 超详细的CentOS7中安装Git,yu