AWS:无法导入模块“ handler”:没有名为“ numpy”的模块

莱因哈特:

AWS Newbie在这里

我必须通过gitlab CI作为lambda托管我的python脚本,并通过AWS上的cloudwatch触发它。

我正在关注以下教程:

  1. https://docs.gitlab.com/ee/user/project/clusters/serverless/aws.html
  2. https://serverless.com/blog/serverless-python-packaging/

从第一个教程中,我仅获取.gitlab-ci.yml文件并将其添加到第二个教程中显示的教程中(但我选择3.7作为运行时,而不是python 3.6)

我有以下serverless.yml文件

service: numpy-test

provider:
  name: aws
  runtime: python3.7

functions:
  numpy:
    handler: handler.main

plugins:
  - serverless-python-requirements

custom:
  pythonRequirements:
    dockerizePip: non-linux

package:
  exclude:
    - venv/**

和以下.gitlab-ci.yml文件:

image: node:latest

stages:
  - deploy

production:
  stage: deploy
  before_script:
    - npm config set prefix /usr/local
    - npm install -g serverless
    - npm install --save serverless-python-requirements
  script:
    - serverless deploy
  environment: production

当我推送.gitlab-ci.yml文件时,它运行无任何错误。

在此处输入图片说明

我可以看到在我的AWS lambda中创建的lambda函数。当我将此lambda与Cloudwatch连接时,每1分钟触发一次lambda时,我在日志中收到以下错误:

在此处输入图片说明

我也有一个requirements.txt文件

numpy==1.18.2

我的目录中有以下文件/文件夹: 在此处输入图片说明

有人可以帮我这个忙,并向我解释我在做的错误以及如何纠正该错误吗?

编辑1

我已经serverless.yml按照makozaki的说明编辑了该文件,现在当我将其推送到存储库中时,CI文件失败,出现以下错误:

在此处输入图片说明 在此处输入图片说明

Dharmendra Singh Negi:

原因之一可能是您在中使用了docker image。gitlab-ci.yml文件。但是,您想使用某些模块部署python lambda。尝试使用同时具有配置python和节点的映像,如该映像:

nikolaik/python-nodejs

或者,如果您需要某些特定版本,则也可以执行以下操作:

nikolaik/python-nodejs:python3.7-nodejs13

出现错误后,我尝试将其复制到我的帐户中。因此,现在我在serverless.yml以及.gitlab-ci.yml文件中进行了一些更改。

您可以在serverless.yml中更改服务名称

.gitlab-ci.yml中的aws和aws区域

之后,它部署到我的帐户中并正常运行。

这是测试结果:此处为Null,因为函数未返回任何值,但它打印了数组。

这是我的cloudwatch日志:

希望这些更改之后,您将能够使它正常工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

AWS Lambda:无法导入模块“ python_handler”:没有名为“ _cffi_backend”的模块

AWS Lambda 返回无法导入模块“main”:存在模块时没有名为“main”的模块

没有名为“ numpy”的模块

无法导入包“没有名为<模块名称>的模块”

aws lambda无法导入模块“ lambda_function”:没有名为“ requests”的模块

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

导入错误:没有名为numpy的模块

无法在 AWS Lambda 中导入 numpy 1.19.1 没有名为“numpy.core._multiarray_umath”的模块

ImportError:没有名为pydot的模块(无法导入pydot)

无法导入Tensorflow“没有名为copyreg的模块”

无法导入ebooklib:ModuleNotFoundError:没有名为“ ebooklib”的模块

AWS Lambda:无法导入模块“ lambda_function”:没有名为boto.ec2.autoscale的模块

将库添加到 aws lambda。(“errorMessage”:“无法导入模块‘lambda_function’:没有名为‘XXXXXl’的模块”)

docker build 期间没有名为“numpy”的模块

pyspark:ImportError:没有名为numpy的模块

ModuleNotFoundError:没有名为“ numpy.random._pickle”的模块

ImportError:没有名为“ numpy.ma”的模块

没有名为“ numpy”的模块:Visual Studio代码

Python 3 ModuleNotFoundError:没有名为“numpy”的模块

Conda骨架pypi:ModuleNotFoundError:没有名为'numpy'的模块

Flask 中没有名为 numpy 的模块

ModuleNotFoundError:导入模块时没有名为“ x”的模块

AWS Lambda错误没有名为“ StringIO”的模块或没有名为“ StringIO”的模块

我为什么得到:无法导入模块“处理程序”:没有名为“ paramiko”的模块?

无法导入模块“ lambda_function”:没有名为“ pandas”的模块

无法导入模块“ lambda_function”:没有名为*的模块

无法导入模块“ lambda_function”:没有名为“ error”的模块

无法导入模块“ lambda_function”:没有名为“ stomp”的模块

无法导入模块“ lambda_function”:没有名为“ mysql”的模块