我有一个使用Google Cloud Pubsub的Python应用程序,如下所示:
from google.cloud import pubsub
它在本地工作正常,但在调用AWS Lambda函数时,我得到:
Unable to import module 'handler': cannot import name 'pubsub'
并且没有其他错误或细节。
我的requirements.txt文件:
requests
google-cloud-datastore==1.4.0
google-cloud-pubsub==0.29.0
sqlalchemy
我觉得它可能对pubsub的psutil要求有所影响,因为当我尝试在pubsub之前导入psutil时,我收到此错误:
Unable to import module 'handler': cannot import name '_psutil_linux'
答案 0 :(得分:1)
如果您使用的是serverless库,解决方法是执行以下操作:
删除项目目录中的.requirements文件夹
将此添加到您的serverless.yml文件(docs here):
data = pd.read_fwf('structure-safety.inp')
data = data.drop(df.columns[0:2], axis=1)
答案 1 :(得分:0)
您需要在包含外部模块的zip文件中预先打包lambda函数。
pip install module-name -t /path/to/project-dir
然后使用随附的模块压缩代码并上传zip文件。
供参考:http://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html