대형라이브러리를 올리기 쉽지않은 경우 레이어로 만들어 AWS에 올리는 방법입니다.
아래의 블로거님에 글을 퍼온 것이니 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
아래가 더 자세히 나와있습니다 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
아래 블로그를 이용해 주세요! ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
https://dbfoot.tistory.com/145?category=1248160
판다스 넘파이 레이어 만들기
1. putty 이용해서 ec2에 접속한다
$ ec2-user
2. 파이썬이 없으면 아나콘다 설치
https://www.anaconda.com/products/individual
해당 링크에서 linux버전 wget 명령어를 사용하면 된다.
3. lambda의 환경이 파이썬3.8 이므로 가상환경을 파이썬 3.8으로 만들어준다
$ conda create -n 가상환경이름 python=3.8
4. 가상환경으로 이동
$ conda activate 가상환경이름
5. 디렉토리를 만든다
$ mkdir 디렉토리 이름
6. 디렉토리로 이동
$ cd 디렉토리 이름
7. 판다스 라이브러리를 이 디렉토리에 설치한다
$ pip install -t . pandas
8. 필요없는 파일 삭제
$ rm -r *.dist-info __pycache__ pandas numpy
9. 아마존의 리눅스에서 설치될 판다스와 넘파이 파일을 다운로드 한다
판다스 링크주소
https://pypi.org/project/pandas/#files
넘파이 링크주소
https://pypi.org/project/numpy/#files
10. 파이썬 3.8이므로 위의 웹페이지에서 38 검색하고 그중에서 manylinux ... x86_64.whl 파일의 링크 주소 복사
(우클릭후 링크 주소 복사해야합니다.)
판다스
넘파이
12. 복사한 링크 주소를 putty로 가서 ec2에 다운로드 받는다
$ wget 복사한 링크 주소
판다스 다운로드
넘파이 다운로드
폴더 내에 이렇게 있어야합니다.
13. 다운로드 받은 파일 두개를 압축을 푼다
먼저 파일명을 whl을 zip으로 바꿔준다
$ mv ~~~.whl ~~~.zip
14. 변경된 파일을 압축푼다
$ unzip zip파일이름
넘파이 zip파일은 3번 전부 y눌러주시면 됩니다.
15. 필요없는 파일 삭제
$ rm -rf *.zip *.dist-info
16. 상위 경로로 이동한다(압풀을 풀었을때 폴더로 묶여있어야하기 떄문에 상위 폴더로 한칸 올라갑니다.)
$ cd ..
17. python 폴더를 압축한다
$ zip -r pandas_layer.zip .
18. 해당 파일은 파일질라를 이용해 내컴퓨터로 옮겨줘야한다
다운 받은 zip파일이 경로 세팅이 잘됐나 확인도 해줍니다.(pandas_layer.zip\python)
19. 내컴퓨터의 웹브라우저에서, AWS 콘솔에 로그인한다
20. S3를 선택하고 버킷을 만든다
21. 버킷이 만들어지면 그 버킷으로 이동해서 위에서 만든 pandas_layer.zip 파일 업로드
22. 업로드가 완료되면 파일명을 눌러서 속성부분의 "객체 URL"을 링크주소복사한다.
24. AWS콘솔에서 lambda로 이동한다.
25. lambda 화면에서 왼쪽의 계층 메뉴 선택
이름 적고 Amazon S3 링크 23번의 "객체 URL" 입력 x86_64,호환 런타임은 Python3.8
26. lambda 메뉴에서 애플리케이션으로 가서 만든 앱 선택후 밑에서 ApiLambdaFunction 클릭
27. Layers를 클릭한후, Add a Layer, 사용자 지정 계층에서 방금 만든 Layer 선택 버전 python 버전 맞는거 선택