如何解决Unbale 使用 AWS SAM 构建 Python 应用程序
我正在尝试从 AWS SAM 构建和运行示例 python
应用程序。我刚刚安装了 python,下面是命令行给出的内容..
D:\Udemy Work>python
Python 3.9.6 (tags/v3.9.6:db3ff76,Jun 28 2021,15:26:21) [MSC v.1929 64 bit (AMD64)] on win32
Type "help","copyright","credits" or "license" for more information.
>>>
D:\Udemy Work>pip -V
pip 21.1.3 from c:\users\user\appdata\local\programs\python\python39\lib\site-packages\pip (python 3.9)
当我运行 sam build
时,出现以下错误
Build Failed
Error: PythonPipBuilder:Validation - Binary validation Failed for python,searched for python in following locations : ['C:\\Users\\User\\AppData\\Local\\Programs\\Python\\python39\\python.EXE','C:\\Users\\User\\AppData\\Local\\Microsoft\\WindowsApps\\python.EXE'] which did not satisfy constraints for runtime: python3.8. Do you have python for runtime: python3.8 on your PATH?
下面是我的代码
template.yaml
AWstemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: >
python-test
Sample SAM Template for python-test
# More info about Globals: https://github.com/awslabs/serverless-application-model/blob/master/docs/globals.rst
Globals:
Function:
Timeout: 3
Resources:
HelloWorldFunction:
Type: AWS::Serverless::Function # More info about Function Resource: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
Properties:
CodeUri: hello_world/
Handler: app.lambda_handler
Runtime: python3.8
Events:
HelloWorld:
Type: Api # More info about API Event Source: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api
Properties:
Path: /hello
Method: get
app.py
AWstemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: >
python-test
Sample SAM Template for python-test
# More info about Globals: https://github.com/awslabs/serverless-application-model/blob/master/docs/globals.rst
Globals:
Function:
Timeout: 3
Resources:
HelloWorldFunction:
Type: AWS::Serverless::Function # More info about Function Resource: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
Properties:
CodeUri: hello_world/
Handler: app.lambda_handler
Runtime: python3.9
Events:
HelloWorld:
Type: Api # More info about API Event Source: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api
Properties:
Path: /hello
Method: get
如果我在 yaml 中更改运行时间,则会出现以下错误
PS D:\Udemy Work\awslambda\python-test> sam build
Building codeuri: D:\Udemy Work\awslambda\python-test\hello_world runtime: python3.9 Metadata: {} functions: ['HelloWorldFunction']
Build Failed
Error: 'python3.9' runtime is not supported
这里的解决方案是什么?
解决方法
python3.9
不支持。 here 列出了支持的运行时,您可以使用的最新 Python 是 python3.8
。
SAM supports docker 通过 --use-container
标志。因此,您可以使用它为您想要 SAM 的任何 Python 版本构建您的包。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。