我正在尝试在gitlab上使用无服务器部署AWS Lambda函数。由于我需要一些外部和本地模块,因此我使用了插件serverless-python-requirements
。我的gitlab-ci.yml就是这样
image: nikolaik/python-nodejs:python3.7-nodejs11
cache:
paths:
- node_modules/
stages:
- deploy
before_script:
- npm config set prefix /usr/local
- npm install -g serverless
- npm install
deploy:
stage: deploy
script:
- serverless deploy --stage dev --verbose
我的serverless.yml
:
service: my-function
plugins:
- serverless-python-requirements
package:
exclude:
- ./node_modules/**
- node_modules/**
- .gitignore
- .gitlab-ci.yml
- package-lock.json
- package.json
custom:
pythonRequirements:
dockerizePip: false
provider:
name: aws
runtime: python3.7
stage: dev
region: us-east-1
functions:
hello:
handler: handler.handle
events:
- http:
path: hello
method: post
和我简单的handler.py
def hello(event, context):
return {"statusCode": 200}
现在,当我执行该函数时,出现此错误:
Runtime.ImportModuleError: Unable to import module 'handler': attempted relative import with no known parent package
这就像默认模板,但我无法运行