尝试 运行 使用 aws lambda 导入 pytube 时出错
Error when trying to run import pytube with aws lambda
您好,我正在尝试在我的 lambda 函数中导入 pytube,但是当我尝试 运行 代码时出现以下错误:
Response {
"errorMessage": "Unable to import module 'index'" }
Function Logs Unable to import module 'index': No module named
'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 已经安装:
Requirement already satisfied: pytube in
/home/ec2-user/.local/lib/python2.7/site-packages
可能是什么问题?
问题是您没有在部署包中包含依赖项。
有关完整详细信息,请参阅 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 服务!)
您好,我正在尝试在我的 lambda 函数中导入 pytube,但是当我尝试 运行 代码时出现以下错误:
Response { "errorMessage": "Unable to import module 'index'" }
Function Logs Unable to import module 'index': No module named '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 已经安装:
Requirement already satisfied: pytube in /home/ec2-user/.local/lib/python2.7/site-packages
可能是什么问题?
问题是您没有在部署包中包含依赖项。
有关完整详细信息,请参阅 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 服务!)