[英]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.