Jak řešit dovozních chyby při pokusu nasadit baňky pomocí WSGI na Apache2

hlasů
34

Mám problém rozvinování baňky aplikaci na apache2 využitím WSGI. Jsem vyslán chybové protokoly a konfigurační soubory níže. Snažil jsem se pohybující věci kolem, přejmenovávat je, etc, ale všichni mi vnitřní chybu serveru. Nejste si jisti, proč jsem dostat chybu importu. Jakýkoliv vstup / návrhy jsou oceňovány, díky!

Tady je můj apache error.log

[Sun Sep 12 20:47:59 2010] [error] [client] mod_wsgi (pid=9753): Target WSGI script '/sites/flaskfirst/wsgi.py' cannot be loaded as Python module.
[Sun Sep 12 20:47:59 2010] [error] [client] mod_wsgi (pid=9753): Exception occurred processing WSGI script '/sites/flaskfirst/wsgi.py'.
[Sun Sep 12 20:47:59 2010] [error] [client] Traceback (most recent call last):
[Sun Sep 12 20:47:59 2010] [error] [client]   File /sites/flaskfirst/wsgi.py, line 1, in <module>
[Sun Sep 12 20:47:59 2010] [error] [client]     from app import app as application
[Sun Sep 12 20:47:59 2010] [error] [client] ImportError: No module named app

wsgi.py

# This is wsgi.py
from app import app as application

app.py

# This is app.py
from flask import Flask, render_template
import settings

app = Flask(__name__)
app.debug = settings.DEBUG

from views.homepage import *
from views.events import *
from views.submit import *
from views.feed import *

if __name__ == __main__:
    app.run()

Zde je základy stromu adresáře, aby vám nápad.

/flaskfirst/
    /static/
    /templates/
    /views/
    __init__.py
    app.py
    wsgi.py

Zde je soubor apache virtualhost

<VirtualHost *:80>
        ServerAdmin sreustle@gmail.com
        ServerName crath.org
        DocumentRoot /sites/flaskfirst

        # WSGI Settings
        WSGIScriptAlias / /sites/flaskfirst/wsgi.py
        WSGIDaemonProcess flaskfirst user=sreustle group=general processes=1 threads=10
        WSGIProcessGroup flaskfirst

        # Static Directories
        Alias /static /sites/flaskfirst/static/
        <Location /static>
                SetHandler None
        </Location>

</VirtualHost>
Položena 12/09/2010 v 22:02
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
31

Díky zarfa damjanna irc.freenode.org v #pocoo, oni byli schopni pomoci, abych si to opravit. Problém byl PYTHONPATH nebylo správné. Opravili jsme to pomocí následujícího wsgi.py

import sys
sys.path.insert(0, "/sites/flaskfirst")

from app import app
application = app
Odpovězeno 12/09/2010 v 22:45
zdroj uživatelem

hlasů
5

Použil jsem své řešení, aby si to práci, ale stále duplikování cestu sys.path (můžete psát na to, aby zjistil, jestli se to stane tobě), takže jsem udělal malou změnu:

import sys
flaskfirst = "/sites/flaskfirst"
if not flaskfirst in sys.path:
    sys.path.insert(0, flaskfirst)

from app import app
application = app

Tak to je jen součástí jednou

Odpovězeno 19/10/2011 v 12:33
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more