sqlalchemy中的create_engine在python中不工作3.6 aws中的运行时lambda

问题描述:

我使用python 3.6成功测试了Amazon Linux docker镜像中的pandas,numpy和sqlalchemy。我能够使用python 3.6中的sqlalchemy模块中的create_engine导入,使用和连接到虚拟环境中的数据库。sqlalchemy中的create_engine在python中不工作3.6 aws中的运行时lambda

然后我导出了所有的依赖关系,并构建了一个python部署包在AWS Lambda中运行它,但由于某种原因,我一直收到lambda中create_engine的错误。

模块 'SQLAlchemy的' 有没有属性 'create_engine':AttributeError的

这是我的代码:

import pandas as pd 
import numpy as np 
import sqlalchemy 
from datetime import datetime, timedelta 

def lambda_handler(event, context): 

    engine = sqlalchemy.create_engine("DB_URI") 

    return "Hello world!" 

但是,如果我只是注释掉,我叫create_engine行,我得到了我的“你好世界!”响应。

我不明白为什么create_engine在此环境中无法正常工作,因为它在相同的码头环境中工作得非常好。有任何想法吗?

我想通了。当我压缩文件时没有使用-r选项,这意味着我的python模块文件夹的顶层被压缩,我有一个菜鸟错误。这解释了为什么我没有得到一个导入错误,但没有任何实际的方法工作。

因此重申,将溶液加入-r选项我zip操作递归添加的所有文件:

zip -r package.zip *