Ошибка при попытке запустить импорт Pytube с AWS лямбда - PullRequest
0 голосов
/ 30 октября 2018

Здравствуйте, я пытаюсь импортировать pytube в свою лямбда-функцию, но я получаю следующую ошибку при попытке запустить код:

Response { "errorMessage": "Невозможно импортировать модуль 'index'"}

Журналы функций Невозможно импортировать модуль '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

В чем может быть проблема?

1 Ответ

0 голосов
/ 30 октября 2018

Проблема в том, что вы не включили свои зависимости в свой пакет развертывания.

См. 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 автоматически включает его для вас, при условии, что ваша лямбда, вероятно, работает со службами AWS!)

...