尝试使用AWS Lambda运行导入pytube时出错

时间:2018-10-30 11:55:07

标签: python amazon-web-services aws-lambda cloud9-ide

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

  

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

     

功能日志无法导入模块“索引”:未命名模块   '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已安装:

  

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

可能是什么问题?

1 个答案:

答案 0 :(得分: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是该规则的例外,因为假设您的lambda可能与AWS服务一起使用,AWS会自动为您包括该规则!)