我準(zhǔn)備了一個(gè)非常簡單的文件來連接到外部 MySQL 數(shù)據(jù)庫服務(wù)器,如下所示:from sqlalchemy import *def run(event, context): sql = create_engine('mysql://root:root@127.0.0.1/scraper?charset=utf8'); metadata = MetaData(sql) print(sql.execute('SHOW TABLES').fetchall())在 AWS 上不起作用,但在 Windows 上本地運(yùn)行完美。接下來,我安裝pip install sqlalchemy --target my/dir并準(zhǔn)備 ZIP 文件以將包上傳到 AWS Lambda。運(yùn)行,但出現(xiàn)失敗消息No module named 'MySQLdb': ModuleNotFoundError。然后,我使用pip install mysqlclient --target my/dir,創(chuàng)建 ZIP 并再次上傳到 AWS Lambda。運(yùn)行,但出現(xiàn)新的失敗消息cannot import name '_mysql': ImportError。那么,我現(xiàn)在應(yīng)該做什么?
1 回答

侃侃爾雅
TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超16個(gè)贊
SQLAlchemy 包括用于各種后端的許多方言實(shí)現(xiàn)。最常見數(shù)據(jù)庫的方言包含在 SQLAlchemy 中;少數(shù)其他人需要額外安裝單獨(dú)的方言。
MySQL 方言使用 mysql-python 作為默認(rèn) DBAPI。有許多 MySQL DBAPI 可用,包括 MySQL-connector-python 和 OurSQL
而不是mysql
你可以使用mysql+mysqlconnector
sql = create_engine('mysql+mysqlconnector://root:root@127.0.0.1/scraper?charset=utf8')
然后使用:
pip install mysql-connector --target my/dir
創(chuàng)建 Zip 并再次上傳到 AWS Lambda。
添加回答
舉報(bào)
0/150
提交
取消