Rekognition 실습을 하다가 python의 matplotlib 라이브러리를 사용할 코드를 돌리는데 자꾸 모듈을 찾을 수 없다는 에러가 떴다.. 이를 해결할 방법을 찾았다! 먼저 해결했던 방법부터 적어보려 한다.
참고: https://awstip.com/how-to-use-your-favorite-python-packages-in-aws-lambda-1a514c7096f1
- python matplotlib 모듈 다운로드
파일 경로 주의...❗
pip install matplotlib -t {파일 경로}
- Layer(계층) 생성
위에서 생성했던 zip파일을 올려주자.
(런타임 유의! 선택한 런타임에서만 계층이 적용된다.)
- Lambda function에 Layer 추가
사용자 지정계층으로 Layer 추가하면 된다.
(버전도 설정이 가능하니 모듈 업데이트를 원하면 버전을 업그레이드 하면 될듯)
❗ 추가적으로.. 문제가 있는 것 같다.. ❗
pip uninstall numpy 후 pip isntall numpy를 해도 계속 오류가 생긴다.
계속 같은 버전으로 설치가 되고 있는데 이를 어떻게 해결해야하나?
NOPE! 컴파일 된 바이너리들은 Amazon Linux와 호환되어야 한다.(OS 호환의 문제)
(numpy의 경우 C코드가 있기 때문)
- Amazon Linux 환경에서 python 패키지들을 설치
아마 cloud9에서 패키지 받아서 진행하면 가능할듭..
아래의 명령어들은 기본적으로 cloud9은 python3.7 버전이라.. 버전 업그레이드를 원하면 실행
yum install -y gcc openssl-devel bzip2-devel libffi-devel
yum install -y wget
cd /usr/local/src
wget {원하는 버전 python download에서 가져오기}
tar xf {해당 파일}
cd {압축 푼 폴더}
./configure --enable-optimizations
make altinstall
python{해당 버전} --version
python{해당 버전} -m pip install --upgrade pip
'Cloud > AWS' 카테고리의 다른 글
[AWS] Fan-Out 시나리오 -1(easy) (0) | 2022.10.11 |
---|---|
[AWS] Event-Driven Architecture (0) | 2022.10.11 |
[AWS] Amazon Rekognition 개념 (1) | 2022.10.05 |
[AWS] Amazon Rekognition 실습 (0) | 2022.10.04 |
[AWS] EC2로 MQTT 통신 테스트 (0) | 2022.09.27 |