- Newest
- Most votes
- Most comments
I fixed this by spinning up an ec2 machine, creating a directory named python, using pip3 to install the libraries I needed, creating a .zip archive out of the python directory and uplodaing that .zip to s3. From there I could create a layer for aws lambda using the .zip archive.
If you're running into similar problems it may be because you are using Mac OS or Windows to build libraries. Much better to use a Amazon AMI machine to ensure compatibility wiith Lambda.
Hi, This might be a little late to answer, but here is an alternative approach that helped me fixed this issue without spinning an ec2 instance. For reference, I was getting the same issue with my Lambda function when I was using the python-docx library.
- The easiest way is to utilize your cloud shell environment. The AWS cloud shell had a similar runtime environment as my python lambda. You can pip install your libraries, package them as you would traditionally do for a normal zip file and then the AWS cloud shell has an option to download the zip file to your local desktop. You can download it and then upload the zip file to your lambda layer and use it as a dependency. Worked well for me and saves me the hassle of spinning a VM every time.
Few things to note would be:
- The python version on your cloud shell might not be the same as the version on your lambda, but it very easy to upgrade/downgrade it on your cloud shell before you use it.
- The initial zip file that I created had a folder named python-3.12.x but it did not work with that, but renaming it 3.12 worked.
Hope this helps!
Relevant content
- asked 2 years ago
- Accepted Answerasked 10 months ago
- asked 8 months ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 10 months ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated 3 years ago