Prasanna Nandakumar
Prasanna Nandakumar

Reputation: 4335

No module named pymysql - aws serverless framework

I deployed a python lambda function through server less framework. Installed pymysql through pip. My handler info is : dynamodbtoauroradb/aurora-data-management/aurora-data-management.handler

enter image description here

I get this error: Unable to import module 'dynamodbtoauroradb/aurora-data-management/aurora-data-management': No module named 'pymysql'

Not sure where the mistake is.

Upvotes: 1

Views: 2077

Answers (2)

GWed
GWed

Reputation: 15673

Use the plugin serverless-python-requirements with docker.

This will package all your python virtual env dependencies into your serverless package.

See this answer for more details

Upvotes: 1

kmcodes
kmcodes

Reputation: 857

There is a chance that pymysql is there in your system packages. So when you built the virtualenvironment, it used the system package.

Create a clean virtualenv using

virtualenv --no-site-packages envname

Or else you can use the current one, with

pip install pymysql --no-deps --ignore-installed

Upvotes: 1

Related Questions