< 판다스 레이어 만드는 방법 >
1.putty 이용해서 ec2에 접속한다.
2. 파이썬이 없으면 아나콘다를 설치한다.
3. 람다의 환경이 파이썬 3.8 이므로 우리도, 가상환경을 파이썬 3.8으로 만들어준다.
$ conda create -n lambda2 python=3.8
4. 가상환경으로 이동하고
$ conda activate lambda2
5. 디렉토리를 하나 만든다. 이름은 python 으로 만든다.
$ mkdir python
6. python 디렉터리로 이동
$ cd python
7. 판다스 라이버리를, 이 디렉토리에 설치한다.
$ pip install -t . pandas
8. 필요없는 파일 삭제
$ rm -rf *.dist-info __pycache__ pandas numpy
9. 아마존의 리눅스에서 설치될 판다스와 넘파이 파일을 다운로드 한다.
링크주소 : https://pypi.org/project/pandas/#files
https://pypi.org/project/numpy/#files 를 웹브라우저에서 열어서,
10. 파이썬 3.8이므로, 위의 웹페이지에서 38로 검색한다.
11. 그 중에서 , manylinux ...X86_64.whl 파일의 링크 주소를 복사한다.
12. 복사한 링크 주소를, putty 로 가서, ec2에 다운로드 받는다.
wget 복사한 링크주소
예)
$ wget https://files.pythonhosted.org/packages/a2/9b/c4879904ed1706883eb0b126f1f4baa0992dfd61ad2aac7a7af82f01b256/pandas-1.3.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
13. 다운로드 받은 파일 2개를 압축을 푼다.
먼저 파일명을 whl => zip 으로 변경
mv ...numpy...whl ....numpy....zip
mv ...pandas...whl ....pandas....zip
예)
$ mv pandas-1.3.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl pandas-1.3.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.zip
14. 변경된 파일을 압축 푼다.
unzip numpy..... zip
unzip pandas..... zip
# 예)
$ unzip pandas-1.3.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.zip
15. 필요없는 파일들 삭제한다.
$ rm -rf *.zip *.dist-info
16. 상위 경로로 이동한다.
$ cd ..
17. python 폴더를 압축한다.
$ zip -r pandas_layer.zip python
18. 내컴퓨터의 웹브라우저에서, AWS 콘솔에 로그인한다.
19. S3 를 선택하고, 여러분 아이디-lambda-layers 라는 버킷을 만든다.
20. 버킷이 만들어지면, 그 버킷으로 이동해서, 위에서 만든 pandas_layer.zip 파일을
업로드한다.
21. 저 파일은 내 컴퓨터에는 없으므로, 파일질라를 이용해서, 먼저 다운로드 받는다.
22. 아까의 버킷에, 다운로드 받은 pandas_layer.zip 파일을 업로드 한다.
23. 업로드가 완료되면, 파일명을 눌러서, 속성 부분의 *객체 URL* 을 링크주소복사 한다.
24. AWS 콘솔에서, 이번에는 람다로 이동한다.
25. 람다 화면에서, 왼쪽의 계층 메뉴를 선택한다.
26. 이름(pandas-numpy-layer) 적고, S3의 링크 넣고, x86_64, 호환 런타임 => python3.8 로 생성한다.
27. 람다 - 애플리케이션 메뉴로 가서, 우리가 만든 앱 선택후,
밑으로 스크롤 하면, ApiLambdaFunction 이 있다. 이것을 클릭!
28. Layers 를 클릭한 후, Add a layer 클릭
29. 사용자 지정 레이어를 선택한후, 아래쪽 목록 누르면, 우리가 만든 레이어 나온다.
버전 1누르고 추가 (맞는 버전) 확인 중
30. 비주얼 스튜디오 코드의 requirements.txt 파일에서 pandas 와 numpy 는 빼준다.
왜냐하면, 레이어에서 설치해줬기때문이다.
'API 서버개발' 카테고리의 다른 글
serverless deploy할때 type error -typeerror: sls.service.org.includes is not a function (0) | 2022.01.11 |
---|---|
쿼리(query) (0) | 2022.01.07 |
쿼리 스트림의 정보를 가져오는 두 가지 방법 (0) | 2022.01.06 |
@jwt_required() 가 , 토큰을 받아야 작업을 한다는 뜻 (0) | 2022.01.06 |
JWT ( JSON WEB TOKEN ) 이란? (0) | 2022.01.06 |