Python Pusher AWS Lambda

Использование AWS Lambda для отправки push-уведомлений в приложение Pusher на Python. Когда я устанавливаю Pusher и все его зависимости в каталог, а zip до Lambda, я запускаю простой тест и получаю эту ошибку.

No module named ndg.httpsclient.ssl_peer_verification 

Вот код, который я пытаюсь запустить.

  • Что делает захват функции лямбда-функции?
  • Функция python max с использованием «ключа» и выражения лямбда
  • Что предпочтительнее использовать в Python: лямбда-функции или вложенные функции ('def')?
  • Python lambda не запоминает аргумент в цикле
  • Фильтрация списков: понимание списка по сравнению с lambda + filter
  • Что является ключевым = лямбда
  •  from pusher import Pusher pusher = Pusher(app_id=u'id', key=u'key', secret=u'secret') def createPitchZip(context, event): pusher.trigger('testchannel', 'testevent', {u'some': u'data'}) 

    Я видел несколько сообщений об этом, но установка зависимостей по отдельности не помогает.

    Благодаря!

    редактировать

    Вот трассировка стека

     No module named ndg.httpsclient.ssl_peer_verification: ImportError Traceback (most recent call last): File "/var/task/lambda.py", line 5, in createPitchZip pusher = Pusher(app_id='***', key='***', secret='***') File "/var/task/pusher/pusher.py", line 42, in __init__ from pusher.requests import RequestsBackend File "/var/task/pusher/requests.py", line 12, in <module> import urllib3.contrib.pyopenssl File "/var/task/urllib3/contrib/pyopenssl.py", line 49, in <module> from ndg.httpsclient.ssl_peer_verification import SUBJ_ALT_NAME_SUPPORT ImportError: No module named ndg.httpsclient.ssl_peer_verification 

  • Закрытие Python не работает должным образом
  • Итерационный процесс python внутри лямбда-функции
  • python возвращает списки непрерывных целых чисел из списка
  • Функция python max с использованием «ключа» и выражения лямбда
  • Синтаксис за сортировкой (key = lambda :)
  • lambda vs. operator.attrgetter ('xxx') в качестве функции сортировки в Python
  • 3 Solutions collect form web for “Python Pusher AWS Lambda”

    Я бы предложил вам использовать virtualenv для отслеживания зависимостей.

    Вот шаги psedo, которые вам могут потребоваться:

      1. virtualenv env 2. env/bin/pip install <your packages> 3. cd env/lib/python2.7/site-packages; zip -r mylambda.zip * 4. also zip your lambda handler 

    Если вы все правильно установили, тогда zip-файл mylambda.zip будет содержать все, что вам нужно.

    Это может показаться глупым, но не называйте ваш локальный переменный толкатель. Связывание переменных в лямбда-функции происходит поздно, во время ее выполнения и в области, которую вы, возможно, не ожидаете.

    Я не предлагаю, чтобы это был полный ответ, но сделайте import pusher и измените на myPusher = pusher.Pusher... чтобы увидеть, myPusher = pusher.Pusher... ли сообщение об ошибке. Если это не так, то проблема лежит в другом месте.

    При добавлении пустого файла __init__.py в каталог ndg исправлена ​​эта проблема.

    Python - лучший язык программирования в мире.