1

apache modewsgi でフラスコ アプリをインストールしています。

私はすでに複数の問題を解決しました: - 環境変数 - virtualenv - ファイル権限

しかし今、私は本当にアプリケーション名にこだわっています。WSGIファイルのfromディレクティブに何を書けばいいのかわかりません。

これが私の ~user/appname.com/appname.com.wsgi です

activate_this = '/home/user/appname.com/venv/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
import sys
sys.path.insert(0, '/home/user/appname.com')
from appname.com import app as application

これにより、次のログが発生します。

[Mon Apr 08 15:50:26 2013] [error] [client 64.120.6.170] mod_wsgi (pid=6392): Exception occurred processing WSGI script '/home/user/appname.com/appname.com.wsgi'.
[Mon Apr 08 15:50:26 2013] [error] [client 64.120.6.170] Traceback (most recent call last):
[Mon Apr 08 15:50:26 2013] [error] [client 64.120.6.170]   File "/home/user/appname.com/appname.com.wsgi", line 5, in <module>
[Mon Apr 08 15:50:26 2013] [error] [client 64.120.6.170]     from appname.com import app as application
[Mon Apr 08 15:50:26 2013] [error] [client 64.120.6.170] ImportError: No module named appname.com

ただし、からを削除すると、appname.compythonコマンドラインからエラーなしで.wsgiを実行できますが、Apache内では、以下のエラーがスローされます...

[Mon Apr 08 15:27:31 2013] [error] [client 64.120.6.170] mod_wsgi (pid=6274): Exception occurred processing WSGI script '/home/user/appname.com/appname.com.wsgi'.
[Mon Apr 08 15:27:31 2013] [error] [client 64.120.6.170] TypeError: 'module' object is not callable

アップデート:

~user/appname.com/ の構造は次のとおりです。

app/
    controller.py
    __init__.py
    models.py
    ...
    static/
        ...
    templates/
config.py
Procfile
README
requirements.txt
run.py
appname.com.wsgi
4

2 に答える 2

2

ディレクトリをどのように構成したかにより、以下を追加する必要があります。

  • /ホーム/ユーザー

sys.path に。

2 番目のエラーが何であるかを説明するには、'com.py' の内容を確認する必要があります。

ただし、ディレクトリに「appname.com」という名前を付けることは非常に悪い考えです。「.」の存在 ディレクトリ名の は Python を混乱させます。

于 2013-04-08T21:51:53.877 に答える
-2

私が書く必要があることがわかりました

from app import app as application
于 2013-04-09T09:29:53.037 に答える