0

我使用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在此環境中無法正常工作,因爲它在相同的碼頭環境中工作得非常好。有任何想法嗎?

回答

0

我想通了。當我壓縮文件時沒有使用-r選項,這意味着我的python模塊文件夾的頂層被壓縮,我有一個菜鳥錯誤。這解釋了爲什麼我沒有得到一個導入錯誤,但沒有任何實際的方法工作。

因此重申,將溶液加入-r選項我zip操作遞歸添加的所有文件:

zip -r package.zip *

相關問題