首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python Pusher Lambda

Python Pusher Lambda
EN

Stack Overflow用户
提问于 2016-03-22 15:58:27
回答 3查看 693关注 0票数 0

使用AWS向Python中的Pusher应用程序发送推送通知。当我将Pusher及其所有依赖项安装到一个目录并压缩到Lambda时,我运行了一个简单的测试并得到了这个错误。

代码语言:javascript
复制
No module named ndg.httpsclient.ssl_peer_verification

这是我要运行的代码。

代码语言:javascript
复制
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'})

我看过几篇关于这方面的文章,但是单独安装依赖项似乎没有帮助。

谢谢!

编辑

这是堆栈跟踪

代码语言:javascript
复制
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
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-04-05 18:12:11

__init__.py目录中添加一个空的ndg文件解决了这个问题。

票数 0
EN

Stack Overflow用户

发布于 2016-03-22 20:29:57

我建议您使用virtualenv来跟踪依赖项。

下面是您可能需要执行的psedo步骤:

代码语言:javascript
复制
 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将包含您所需的一切。

票数 0
EN

Stack Overflow用户

发布于 2016-04-01 03:28:13

这听起来可能很傻,但不要给你的局部变量推手起名字。lambda函数中变量的绑定在执行过程中发生得很晚,并且在您可能并不期望的范围内进行。

我并不是说这是完整的答案,而是执行一个import pusher并更改为myPusher = pusher.Pusher...,以查看错误消息是否更改。如果没有,那么问题就在别处。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36159283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档