0

您好我正在尝试在我的 lambda 函数中导入 pytube,但是当我尝试运行代码时出现以下错误:

响应{“errorMessage”:“无法导入模块'index'”}

功能日志无法导入模块“索引”:没有名为“pytube”的模块

这是我的代码:

import boto3
from pytube import YouTube

s3 = boto3.resource('s3')

URL = ''
PATH = ''

def handler(event, context):
    YouTube(URL).streams.first().download(PATH)

我的 IDE 说 pytube 已经安装:

已满足要求:/home/ec2-user/.local/lib/python2.7/site-packages 中的 pytube

可能是什么问题呢?

4

1 回答 1

1

问题是您没有在部署包中包含依赖项。

有关完整详细信息,请参阅https://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html#deployment-pkg-for-virtualenv,但实际上您必须做:

pip install pytube -t /path/to/project-dir

在制作用于上传的 zip 文件之前。

(请注意,这boto3是此规则的一个例外,因为 AWS 会自动为您包含它,前提是您的 lambda 可能适用于 AWS 服务!)

于 2018-10-30T13:41:12.690 回答