Passer au contenu

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?

demandé il y a 3 ans6,9 k vues

2 réponses
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

répondu il y a 3 ans

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.

AWS
EXPERT

répondu il y a 3 ans

  • 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?

Vous n'êtes pas connecté. Se connecter pour publier une réponse.

Une bonne réponse répond clairement à la question, contient des commentaires constructifs et encourage le développement professionnel de la personne qui pose la question.