컴파일된 바이너리가 포함된 Python 패키지를 배포 패키지에 추가하고 패키지를 Lambda와 호환되게 하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2019년 9월 18일

pip를 사용하여 컴파일된 코드가 포함된 Python 패키지를 설치했지만 배포 패키지가 AWS Lambda와 호환되지 않습니다. 이 문제를 해결하려면 어떻게 해야 합니까?

간략한 설명

컴파일된 코드가 있는 Python 패키지가 있습니다(예: NumPy). pip install 명령을 사용하여 이러한 패키지를 설치할 수 있습니다.

pip install module-name -t /path/to/project-dir

그러나 pip를 사용하여 이러한 패키지를 설치하는 경우 패키지는 아키텍처에 대한 module-name 패키지를 다운로드하고 컴파일합니다. 따라서 Linux 운영 체제에서 명령을 실행하지 않는 한 배포 패키지가 Lambda와 호환되지 않습니다.

Lambda와 호환되는 배포 패키지를 만들려면 휠(.whl)이라는 미리 컴파일된 패키지를 다운로드합니다. pip install을 사용하는 대신 /path/to/project-dir에서 휠 파일의 압축을 풉니다.

해결 방법

1.    module-name pypi.org 페이지를 엽니다. 예를 들어 다음과 같습니다.

https://pypi.org/project/numpy/

2.    [Download files]를 선택합니다.

3.    다운로드:

  • Python 2.7: module-name-version-cp27-cp27mu-manylinux1_x86_64.whl
  • Python 3.6: module-name-version-cp36-cp36m-manylinux1_x86_64.whl

4.    [/path/to/project-dir] 폴더에서 휠 파일의 압축을 풉니다.

휠 파일의 압축을 해제하면 배포 패키지가 Lambda와 호환됩니다.


이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?