如何将 PATH 导出到 "sam build" 命令?
How to export PATH to "sam build" command?
我正在 PyCharm 上开发 AWS Lambda 函数。
当我执行“运行”按钮时,出现以下错误消息。
/usr/local/bin/sam build MyFunction --template /Users/miyashiiii/Works/myapp/myapp/template.yaml --build-dir /Users/miyashiiii/Works/myapp/myapp/.aws-sam/build
Building codeuri: myapp/ runtime: python3.7 metadata: {} functions: ['MyFunction']
Build Failed
Error: PythonPipBuilder:Validation - Binary validation failed for python, searched for python in following locations : ['/usr/bin/python'] which did not satisfy constraints for runtime: python3.7. Do you have python for runtime: python3.7 on your PATH?
python3.7 在我的 PATH 上,其他一些位置在我的 PATH 上,但位置列表仅包含“/usr/bin/python”。
当我在终端上执行相同的命令(/usr/local/bin/sam build ~~)时,它成功了。
如何将 PATH 导出到“sam build”命令?
我通过将可执行文件链接到 /usr/local/bin
解决了 python3.8 的问题(我想 python3.7 也是如此)
ln -sf /usr/local/opt/python@3.8/bin/python3.8 /usr/local/bin/
[EDIT Nov2021] 现在 /opt/homebrew/opt/python@3.8/bin/python3
[/EDIT]
找到你的 python 目录(如果是自制软件安装的):brew info python@3.8
此外,您可能更喜欢 运行 SAM 在 docker 容器中(使用 CLI 的选项 sam build --use-container
)
在pycharm中:
SAM 预计您的 Python 版本会在 PATH
上显示 here
找到你的 python 目录(如果是自制软件安装的):brew info python@3.8
在我的例子中,这产生了 /usr/local/opt/python@3.8/libexec/bin
然后将其添加到 PATH 中:
export PATH=$PATH:<Your Python version's path here>
export PATH=$PATH:/usr/local/opt/python@3.8/libexec/bin
您可以确认它已被 运行 echo $PATH
追加,您应该会在输出的末尾看到您的新路径。
sam build
应该会找到您的 Python 版本
添加了 3.9 环境变量并尝试链接文件夹但对我不起作用。
我的解决方案是下载 Python3.9 然后 creating/selecting
VSCode 中的新 Python 解释器。
这个article帮助了我
我正在使用 Windows、WSL、VSCode、& Python3.10 - 但 SAM CLI 需要 3.9 并出现以下错误
Error: PythonPipBuilder:Validation - Binary validation failed for python, searched for python in following locations : ['C:\Python310'] which did not satisfy constraints for runtime: python3.9. Do you have python for runtime: python3.9 on your PATH?
我正在 PyCharm 上开发 AWS Lambda 函数。 当我执行“运行”按钮时,出现以下错误消息。
/usr/local/bin/sam build MyFunction --template /Users/miyashiiii/Works/myapp/myapp/template.yaml --build-dir /Users/miyashiiii/Works/myapp/myapp/.aws-sam/build
Building codeuri: myapp/ runtime: python3.7 metadata: {} functions: ['MyFunction']
Build Failed
Error: PythonPipBuilder:Validation - Binary validation failed for python, searched for python in following locations : ['/usr/bin/python'] which did not satisfy constraints for runtime: python3.7. Do you have python for runtime: python3.7 on your PATH?
python3.7 在我的 PATH 上,其他一些位置在我的 PATH 上,但位置列表仅包含“/usr/bin/python”。
当我在终端上执行相同的命令(/usr/local/bin/sam build ~~)时,它成功了。
如何将 PATH 导出到“sam build”命令?
我通过将可执行文件链接到 /usr/local/bin
解决了 python3.8 的问题(我想 python3.7 也是如此)ln -sf /usr/local/opt/python@3.8/bin/python3.8 /usr/local/bin/
[EDIT Nov2021] 现在 /opt/homebrew/opt/python@3.8/bin/python3
[/EDIT]
找到你的 python 目录(如果是自制软件安装的):brew info python@3.8
此外,您可能更喜欢 运行 SAM 在 docker 容器中(使用 CLI 的选项 sam build --use-container
)
在pycharm中:
SAM 预计您的 Python 版本会在 PATH
上显示 here
找到你的 python 目录(如果是自制软件安装的):brew info python@3.8
在我的例子中,这产生了 /usr/local/opt/python@3.8/libexec/bin
然后将其添加到 PATH 中:
export PATH=$PATH:<Your Python version's path here>
export PATH=$PATH:/usr/local/opt/python@3.8/libexec/bin
您可以确认它已被 运行 echo $PATH
追加,您应该会在输出的末尾看到您的新路径。
sam build
应该会找到您的 Python 版本
添加了 3.9 环境变量并尝试链接文件夹但对我不起作用。
我的解决方案是下载 Python3.9 然后 creating/selecting VSCode 中的新 Python 解释器。 这个article帮助了我
我正在使用 Windows、WSL、VSCode、& Python3.10 - 但 SAM CLI 需要 3.9 并出现以下错误
Error: PythonPipBuilder:Validation - Binary validation failed for python, searched for python in following locations : ['C:\Python310'] which did not satisfy constraints for runtime: python3.9. Do you have python for runtime: python3.9 on your PATH?