[英]Problem installing PyODBC for local debugging with AWS SAM CLI
我正在用 Python 开发一个 lambda 函数。 该函数使用pyodbc 库访问RDS 数据库。 为了使用我正在使用层的库。 我的 SAM 模板如下所示,部署到 AWS 时一切正常。
Resources:
# ODBC Lambda Layer
PyODBCLayer:
Type: AWS::Serverless::LayerVersion
Properties:
ContentUri: pyodbc_layer.zip
# Lambda function
TaskIDFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: taskid/
Handler: app.lambda_handler
Layers:
- !Ref PyODBCLayer
Role: !GetAtt TaskIDFunctionIamRole.Arn
Runtime: python3.6
Environment:
Variables:
ODBCINI: /opt/bin/odbcinst.ini
ODBCSYSINI: /opt/bin
Events:
SendTaskID:
Type: Api
Properties:
Path: /task/{id}
Method: get
当我尝试使用sam build && sam local invoke -d 5890 TaskIDFunction --event myEvent.json
在本地运行时,问题就开始了
我收到错误消息Unable to import module 'app': No module named 'pyodbc'
我理解,通常解决方案是将pyodbc
添加到 requiremens.txt 文件以进行本地调试。
但是,在我完成之后, sam build
命令失败并显示以下消息
Build Failed
Error: PythonPipBuilder:ResolveDependencies - {pyodbc==4.0.26(wheel)}
我可以毫无问题地pip install pyodbc
但由于某种原因, sam build
失败。
我尝试了各种组合,从模板中删除图层并手动安装 PyODBC 以使其在本地运行,但没有成功。
我没有足够的声誉来发表评论,所以:
我得到了同样的错误。 想知道您是否可以改进它,如果可以,您是如何做到的?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.