【问题标题】:Error when trying to run import pytube with aws lambda尝试使用 aws lambda 运行 import pytube 时出错
【发布时间】:2018-10-30 11:55:06
【问题描述】:

您好,我正在尝试在我的 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 已经安装:

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

可能是什么问题?

【问题讨论】:

  • 你的意思是它在本地工作,但是当你尝试在 lambda 上运行它时不起作用?
  • 是的,它确实可以在命令行界面中使用,但不能使用 lambda

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


【解决方案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 服务!)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-12
    • 1970-01-01
    • 2021-06-10
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 2021-12-26
    • 2016-01-02
    相关资源
    最近更新 更多