AWS Unable to import module ‘app’ : no module named Pymysql

Question:

I am using the AWS Console and trying to add data to a MySQL table using a Lambda function. Whenever I try to test the function, I get the following error:

Unable to import module ‘app’ : no module named pymysql

Its acting like pymysql is not in the path. I went into the microEC2 instance and pip’ed pymysql. But it still doesn’t work. I have tried zipping my code into a file and uploading and also copying and pasting the code into the console and running it. Neither works. Any help would be greatly appreciated.

Here is a code snippet:

Answer:

You must package all your project dependency in your deployment.

  1. Copy from your virtual environment the package PyMysql, to the
    root of directory where your code lives.
  2. Create a zip, and upload it to lambda function

    See the docs

Leave a Reply