pywhatsapp/yowsup2 不在 apache/wsgi 下 运行

pywhatsapp/yowsup2 not running under apache/wsgi

Pywhatsapp(yowsup2 的包装器 - whatsapp python api)从我的 Django 应用程序发送消息。

from whatsapp import Client
whatsapp_client.send_message(to, message)

当我使用 Django 的默认开发服务器时,上面的代码可以正常发送消息。但是,当我将代码部署到 AWS beanstalk 并尝试发送消息时,同样的代码错误。 pywhatsapp 和 yowsup 都已安装并且工作正常。

当我在 eb 实例的 shell (python manage shell) 中尝试上面的代码时,它发送消息就好了....只是不是通过 apache/mod_wsgi .我了解到 apache 不会这样做以避免安全漏洞。但是,我不知道如何正确解决这个问题。非常感谢任何帮助或文档指针。

我从 AWS 得到的错误:

[Errno 13] Permission denied: '/home/wsgi'

我的 wsgi 文件:

    import os
    from django.core.wsgi import get_wsgi_application
    from mezzanine.utils.conf import real_project_name
    os.environ.setdefault("DJANGO_SETTINGS_MODULE",
                  "%s.settings" % real_project_name("vidhaikalam"))
    application = get_wsgi_application()

和我的 .ebbeanstalk/02_python.config

option_settings:


"aws:elasticbeanstalk:application:environment":
  DJANGO_SETTINGS_MODULE: "vidhaikalam.settings"
  "PYTHONPATH": "/opt/python/current/app/vidhaikalam:$PYTHONPATH"
  DJANGO_SECRET_KEY: "**********"
  DJANGO_NEVERCACHE_KEY: "*********"


"aws:elasticbeanstalk:container:python":
  WSGIPath: vidhaikalam/wsgi.py
  NumProcesses: 3
  NumThreads: 20


"aws:elasticbeanstalk:container:python:staticfiles":
  "/static/": "static/"

追溯在这里:

http://dpaste.com/0DX914S

感谢 Graham Dumpleton 的指点,我得以解决此问题。我只是在 views.py

中像这样更改了 Yowsup 的 PATH_STORAGE 常量
from yowsup.common import YowConstants
YowConstants.PATH_STORAGE = "/tmp/.yowsup"

非常感谢,Graham Dumpleton!