[T/S] SAM Hands-on

이준석·2023년 2월 2일

문제 발생 1

아마존 공식 문서에 의해 SAM 설치 후, Hello World 애플리케이션 구축할 때 발생

문제 코드

sam build

에러 메시지

Build Failed
Error: PythonPipBuilder:Validation - Binary validation failed for python, searched for python in following locations : ['/usr/bin/python3', '/bin/python3'] which did not satisfy constraints for runtime: python3.9. Do you have python for runtime: python3.9 on your PATH?

나의 생각

처음에 AWS SAM 애플리케이션을 다운 받았을 때 런타임을 파이썬 3.9로 지정했는데, 내 로컬에는 파이썬 3.9 버전이 없어서 실패한 것 같다.

python3 --version
ls /usr/bin/ | grep python

두 명령어를 실행한 결과, 내 로컬에는 python3과 python3.10이 설치돼있고, 현재 실행 중인 버전은 3.10 버전이었다.

해결 과정

먼저 python3.9 버전을 다운 받았다.

sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.9

이후 사용 하는 버전을 3.9 버전으로 변경했다.
그러나 이번엔 또 다른 오류가 발생했다.

Build Failed
Error: PythonPipBuilder:ResolveDependencies - Traceback (most recent call last):
.
.
.
ModuleNotFoundError: No module named 'distutils.cmd'

이번에는 엄청 긴 오류였지만 마지막 한 줄을 보고 저 모듈을 설치해주면 되겠다고 생각했다.
인터넷 검색 결과 명령어를 찾아서 실행해줬다.

sudo apt-get install python3.9-distutils

난 3.9 버전을 사용하니까 python3.9를 넣었다.

다행히 이번에는 build에 성공할 수 있었다.

0개의 댓글