Sam Build失败:Python版本不符合python3.9运行时要求
解决SAM构建时Python3.9版本匹配失败问题
核心原因
报错明确指出SAM需要Python3.9版本,但你本地只有Python2.7和3.11,版本不匹配——哪怕把3.11的路径加到PATH里,也不符合3.9的约束条件,所以验证失败。
解决方案
方法1:用版本管理工具切换到Python3.9
- 安装
pyenv(Homebrew用户直接执行brew install pyenv) - 安装Python3.9最新小版本:
pyenv install 3.9.18 - 在当前项目目录切换到3.9:
pyenv local 3.9.18 - 验证版本:
python --version确认输出3.9.x后,重新执行sam build
方法2:直接安装Python3.9并指定路径
- 直接安装Python3.9:Homebrew用户执行
brew install python@3.9,或从Python官网下载对应安装包 - 找到3.9的可执行文件路径(brew安装的路径通常是
/opt/homebrew/bin/python3.9) - 执行构建时指定Python路径:
sam build --python-executable /opt/homebrew/bin/python3.9
方法3:修改Lambda运行时版本(如果业务允许)
如果你的业务不需要严格使用Python3.9,直接修改SAM模板文件(template.yaml)中的Runtime字段:
Runtime: python3.11
保存后重新执行sam build,SAM会自动使用你本地的Python3.11构建。
补充说明
之前调整PATH的操作无效,是因为PATH中的python3指向的是3.11版本,不符合SAM要求的3.9版本校验规则,必须让SAM找到确切的3.9版本可执行文件才能通过验证。
内容的提问来源于stack exchange,提问作者Mikeshift
相关产品推荐
相关产品推荐

