Windows11下SAM build失败:Python3.12路径验证问题求助
解决Windows 11下SAM Build找不到Python 3.12的问题
问题根源
SAM构建时会直接查找python.exe/python3.exe可执行文件,但你的系统PATH中优先指向了WindowsApps目录下的占位文件(并非实际Python安装路径);而能识别版本的Python Launcher(py.exe),SAM默认不会主动调用。
解决方案
1. 手动将Python 3.12路径加入PATH最前端
- 找到Python 3.12的实际安装路径,默认路径通常为:
C:\Users\<你的用户名>\AppData\Local\Programs\Python\Python312\ - 打开系统环境变量设置:右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在「系统变量」的
PATH条目里,添加上述路径,并拖动到列表最顶端(确保SAM优先找到实际的Python可执行文件) - 重启所有打开的PowerShell/VS Code窗口,让PATH变更生效
- 验证:执行
python --version和python3 --version,确认输出为Python 3.12.3
2. 直接给SAM指定Python可执行文件路径
若修改PATH后仍无效,可在执行sam build时直接指定Python路径:
sam build --python-executable "C:\Users\<你的用户名>\AppData\Local\Programs\Python\Python312\python.exe"
3. 通过模板文件指定Python路径
也可以在项目的template.yaml中给目标函数添加元数据,指定构建用的Python路径:
HelloWorldFunction: Type: AWS::Serverless::Function Properties: CodeUri: hello_world/ Handler: app.lambda_handler Runtime: python3.12 Metadata: BuildMethod: python3.12 BuildEnv: - PYTHON_EXECUTABLE: "C:\\Users\\<你的用户名>\\AppData\\Local\\Programs\\Python\\Python312\\python.exe"
4. 重新安装Python并勾选「Add Python to PATH」
如果之前安装Python时未勾选该选项,卸载现有Python 3.12后重新安装,确保勾选「Add Python.exe to PATH」,完成后重启终端再尝试sam build。
内容的提问来源于stack exchange,提问作者VishalG
相关产品推荐
相关产品推荐

