没有名为 pymysql 的模块 - aws 无服务器框架

Posted

技术标签:

【中文标题】没有名为 pymysql 的模块 - aws 无服务器框架【英文标题】:No module named pymysql - aws serverless framework 【发布时间】:2019-03-24 00:44:41 【问题描述】:

我通过无服务器框架部署了一个 python lambda 函数。通过pip 安装pymysql。我的处理程序信息是:dynamodbtoauroradb/aurora-data-management/aurora-data-management.handler

我收到此错误: Unable to import module 'dynamodbtoauroradb/aurora-data-management/aurora-data-management': No module named 'pymysql'

不知道错在哪里。

【问题讨论】:

【参考方案1】:

您的系统包中可能存在 pymysql。所以当你构建虚拟环境时,它使用了系统包。

使用

创建一个干净的virtualenv
virtualenv --no-site-packages envname

否则你可以使用当前的,与

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

【讨论】:

假设您尝试了上述两个选项并在每次尝试后重新部署到 lambda【参考方案2】:

将插件 serverless-python-requirements 与 docker 一起使用。

这会将你所有的 python 虚拟环境依赖打包到你的无服务器包中。

查看answer了解更多详情

【讨论】:

以上是关于没有名为 pymysql 的模块 - aws 无服务器框架的主要内容,如果未能解决你的问题,请参考以下文章

没有名为“pymysql”的模块

Python - 没有名为“PyMySQL”的模块

ImportError:Mac OS 上没有名为 pymysql 的模块

没有名为'pymysql'的模块

AWS:无法导入模块“处理程序”:没有名为“numpy”的模块

如何使用 Python 3.6 将 pymysql 模块安装到 AWS Lambda [重复]