我在本地主机上运行了Flask应用程序。
我通常使用db
将SQLAlchemy对象实例化为db = SQLAlchemy()
,然后使用一些基本功能,例如:db.drop_all()
,db.create_all()
,db.session.add(MyClass)
,{{1} }。
使用Zappa将Flask Web应用程序部署到AWS Lambda,即使我冻结了点子要求,也遇到以下错误:
db.session.commit()
现在,我遇到了this question,但是它考虑的是纯SQLAlchemy ORM和新软件包(据我所知,在我的venv之外)。
我想知道什么是解决当前设置问题的最佳方法(例如,我通常不创建引擎)。
有什么想法/建议吗?
非常感谢。
编辑
经过大量调查,看来ImportError: cannot import name '_mysql' from 'MySQLdb'
模块中存在错误。阅读它的GitHub文档:
MySQL Connector / C的版本可能具有错误的默认配置 mysqlclient-python是时导致编译错误的选项 已安装。 (自2017年11月起, 自酿的mysql-connector-c和官方软件包)
修改mysql_config可解决以下问题。
更改
_mysql
到
# on macOS, on or about line 112:
# Create options
libs="-L$pkglibdir"
libs="$libs -l "
但是我似乎找不到# Create options
libs="-L$pkglibdir"
libs="$libs -lmysqlclient -lssl -lcrypto"
。在终端上键入mysql_config
时(激活了nano mysql_config
),我得到了一个空文件。我可以想象解决此配置将解决模块。