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 *