error, "Unable to import module 'lambda_function': No module named 'requests'"

0

I have written an AWS Lambda function in Python which uses the 'requests' library (and so has the line 'import requests').

When I test it, I get the error, "Unable to import module 'lambda_function': No module named 'requests'".

I have zipped the 'requests' library folder and the 'requests-2.31.0.dist-info folder' into an archive and have uploaded this to a new AWS layer within the AWS console and have then added the layer to my function, but I still get the error.

Any idea what I've done wrong or missed?

DivZero
posta 7 mesi fa1250 visualizzazioni
2 Risposte
1

Hi,

While creating the lambda layer zipped file, please make sure you zipped the content of the folder with the code, and not the folder itself [1].
Furthermore, please follow this troubleshooting guide [2].

References:
[1] https://stackoverflow.com/questions/71163939/aws-lambda-layer-unable-to-import-module-lambda-function-no-module-named-pya
[2] https://repost.aws/knowledge-center/lambda-import-module-error-python

Thanks,
Atul

profile picture
con risposta 7 mesi fa
0

Hi,

please make sure that the AWS Lambda layer that you created has the required folder structure, see https://docs.aws.amazon.com/lambda/latest/dg/packaging-layers.html.

Specifically, that the distro folder is within the python folder.

profile pictureAWS
ESPERTO
con risposta 7 mesi fa
  • Hi Ben, Thanks for your reply but I am very new to this, so it's no clearer yet. I am using the AWS console to create the layer and upload the zip file. I haven't seen a folder structure and just assumed that doing it this way would result in the layer being created in the right place. How can I view and edit the folder structure?

Accesso non effettuato. Accedi per postare una risposta.

Una buona risposta soddisfa chiaramente la domanda, fornisce un feedback costruttivo e incoraggia la crescita professionale del richiedente.

Linee guida per rispondere alle domande