2016-08-16 16 views
0

Pywhatsapp(yowsup2のラッパー - whatsapp python api)を使用してDjangoアプリからメッセージを送信します。pywhatsapp/yowsup2がapache/wsgiで実行されていません

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

上記のコードは、Djangoのデフォルト開発サーバーを使用しているときにメッセージを正常に送信します。しかし、コードをAWS Beanstalkにデプロイし、メッセージを送信しようとすると、同じコードエラーが発生します。 pywhatsappとyowsupの両方がインストールされ、正常に動作しています。

私はebインスタンスのシェル(python管理シェル)で上記のコードを試しても、ちょうど良いメッセージを送信します....ただ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

+0

あなたのapache/mod_wsgiの設定はどうですか? – masnun

+0

あなたが使用しているライブラリは、アカウントのホームディレクトリにファイルを書き込もうとしている可能性があります。書き込み可能でないか、正しく設定されていない可能性があります。 mod_wsgiの相対パスに依存するべきではありません。これは、プロセスの作業ディレクトリが通常コードの場所にならないためです。ところで、完全なPythonのトレースバックを、コード内のどこで失敗したのか、そしてその行のコードはどこに表示するのが良いでしょう。その関数内で実際のコード行を表示するのではなく、実際に表示することはできませんでした。 –

+0

ここは私のトレースバックhttp://dpaste.com/0DX914Sです – gowthaman

答えて

0

Graham Dumpletonのポインタのおかげで、私はこの問題を解決できました。私は単にYowsupのPATH_STORAGEをviews.pyのように変更しました。

from yowsup.common import YowConstants 
YowConstants.PATH_STORAGE = "/tmp/.yowsup" 

ありがとうGraham Dumpleton!

関連する問題