我在AWS Lambda服务中使用Python SQLAlchemy时遇到问题

我在AWS Lambda服务中使用Python SQLAlchemy时遇到问题,python,amazon-web-services,aws-lambda,Python,Amazon Web Services,Aws Lambda,代码在虚拟环境中运行良好,我正确地部署了具有所有依赖项的代码,但当我的代码尝试使用SQLAlchemy执行SQL原始查询时,我得到了这个结果 { "stackTrace": [ [ "/var/task/aws_handler.py", 13, "twilio_handler", "sms_bot.handle_communication(message_body, recipient)" ], [ "/var/task/sms_bot.py", 86, "handl

代码在虚拟环境中运行良好,我正确地部署了具有所有依赖项的代码,但当我的代码尝试使用SQLAlchemy执行SQL原始查询时,我得到了这个结果

{
"stackTrace": [
[
  "/var/task/aws_handler.py",
  13,
  "twilio_handler",
  "sms_bot.handle_communication(message_body, recipient)"
],
[
  "/var/task/sms_bot.py",
  86,
  "handle_communication",
  "is_authenticated, user_id = self.authenticate_user(recipient)"
],
[
  "/var/task/sms_bot.py",
  38,
  "authenticate_user",
  "result = execute_query(query)"
],
[
  "/var/task/db_handler.py",
  28,
  "execute_query",
  "connection = get_db_connection()"
],
[
  "/var/task/db_handler.py",
  19,
  "get_db_connection",
  "return get_sqlalchemy_engine().connect()"
],
[
  "/var/task/db_handler.py",
  11,
  "get_sqlalchemy_engine",
  "return create_engine(SQLALCHEMY_DATABASE_URI)"
],
[
  "/var/task/sqlalchemy/engine/__init__.py",
  386,
  "create_engine",
  "return strategy.create(*args, **kwargs)"
],
[
  "/var/task/sqlalchemy/engine/strategies.py",
  75,
  "create",
  "dbapi = dialect_cls.dbapi(**dbapi_args)"
],
[
  "/var/task/sqlalchemy/dialects/mysql/mysqldb.py",
  92,
  "dbapi",
  "return __import__('MySQLdb')"
],
[
  "/var/task/MySQLdb/__init__.py",
  19,
  "<module>",
  "import _mysql"
]
  ],
   "errorType": "ImportError",
   "errorMessage":
   "libmysqlclient.so.20: cannot open shared object  file: No such 

    file or directory"}
{
“stackTrace”:[
[
“/var/task/aws_handler.py”,
13,
“twilio_handler”,
sms\u bot.处理通信(邮件正文、收件人)
],
[
“/var/task/sms_bot.py”,
86,
“处理沟通”,
已验证,用户id=self。验证用户(收件人)
],
[
“/var/task/sms_bot.py”,
38,
“验证用户”,
“结果=执行查询(查询)”
],
[
“/var/task/db_handler.py”,
28,
“执行查询”,
“connection=get_db_connection()”
],
[
“/var/task/db_handler.py”,
19,
“获取\u db\u连接”,
“返回get\u sqlalchemy\u引擎().connect()”
],
[
“/var/task/db_handler.py”,
11,
“获取炼金术引擎”,
“返回创建引擎(SQLALCHEMY数据库URI)”
],
[
“/var/task/sqlalchemy/engine/_init__.py”,
386,
“创建引擎”,
返回策略。创建(*args,**kwargs)
],
[
“/var/task/sqlalchemy/engine/strategies.py”,
75,
“创建”,
“dbapi=方言\语法.dbapi(**dbapi\u参数)”
],
[
“/var/task/sqlalchemy/dialogs/mysql/mysqldb.py”,
92,
“dbapi”,
“返回uuu导入('MySQLdb')”
],
[
“/var/task/MySQLdb/_init__uu.py”,
19,
"",
“导入mysql”
]
],
“errorType”:“ImportError”,
“错误消息”:
“libmysqlclient.so.20:无法打开共享对象文件:没有这样的文件。”
文件或目录“}

注意:SQL\u URI是正确的,在本地工作

我找到了已安装的解决方案

libmysqlclient开发

在我的电脑上复制

libmysqlclient.so.20

/usr/lib/x86_64-linux-gnu/


对于我的aws部署包,将权限更改为777,压缩所有文件并上载到aws。成功了。

尝试卸载并重新安装mysql python:pip卸载mysql python pip安装mysql python检查此链接:Is
libmysqlclient.so.20
在您的部署包中?不,它不在我的部署包中。我怎样才能把它包括进去?