2017-02-15 3 views
-1

Ich führe das ganze Tutorial von (https://pythonprogramming.net/creating-first-flask-web-app/) und ich habe in den folgenden Problemen aufgetreten. Ich führe gerade den apache2 Server aus und dies ist das Fehlerprotokoll.Flashmodul nicht im Apache-Server gefunden

[Wed Feb 15 16:57:45.115664 2017] [wsgi:error] [pid 29447:tid 140623447664384] [remote 182.55.172.115:9328] mod_wsgi (pid=29447): Target WSGI script '/var/www/FlaskApp/flaskapp.wsgi' cannot be loaded as Python module. 
[Wed Feb 15 16:57:45.115711 2017] [wsgi:error] [pid 29447:tid 140623447664384] [remote 182.55.172.115:9328] mod_wsgi (pid=29447): Exception occurred processing WSGI script '/var/www/FlaskApp/flaskapp.wsgi'. 
[Wed Feb 15 16:57:45.115730 2017] [wsgi:error] [pid 29447:tid 140623447664384] [remote 182.55.172.115:9328] Traceback (most recent call last): 
[Wed Feb 15 16:57:45.115749 2017] [wsgi:error] [pid 29447:tid 140623447664384] [remote 182.55.172.115:9328] File "/var/www/FlaskApp/flaskapp.wsgi", line 12, in <module> 
[Wed Feb 15 16:57:45.115799 2017] [wsgi:error] [pid 29447:tid 140623447664384] [remote 182.55.172.115:9328]  from FlaskApp import app as application 
[Wed Feb 15 16:57:45.115819 2017] [wsgi:error] [pid 29447:tid 140623447664384] [remote 182.55.172.115:9328] ImportError: No module named FlaskApp 

Meine config-Datei ist als unten

<VirtualHost *:80> 
       ServerName xxx.xxx.xxx.xxx 
       ServerAdmin [email protected] 
       WSGIDaemonProcess FlaskApp python-path=/var/www/FlaskApp:/var/www/FlaskApp/FlaskApp/venv/lib/python2.7/site-packages 
       WSGIProcessGroup FlaskApp 
       WSGIScriptAlias//var/www/FlaskApp/flaskapp.wsgi 
       <Directory /var/www/FlaskApp/FlaskApp/> 
         Order allow,deny 
         Allow from all 
       </Directory> 
       Alias /static /var/www/FlaskApp/FlaskApp/static 
       <Directory /var/www/FlaskApp/FlaskApp/static/> 
         Order allow,deny 
         Allow from all 
       </Directory> 
       ErrorLog ${APACHE_LOG_DIR}/error.log 
       LogLevel warn 
       CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 

My Flask App wsgi Datei wie unten

#!/usr/bin/python 
#import sys 
import os, sys 
import logging 
logging.basicConfig(stream=sys.stderr) 
sys.path.insert(0,"/var/www/FlaskApp") 

activate_this = '/var/www/FlaskApp/FlaskApp/venv/bin/activate_this.py' 
execfile(activate_this, dict(__file__=activate_this)) 


from FlaskApp import app as application 
application.secret_key = 'gfuaskdf24432giafsd23khk' 

Und mein _init_.py wie unten

from flask import Flask 

app = Flask(__name__) 

@app.route('/') 
def homepage(): 
    return "Hi there, how ya doin?" 


if __name__ == "__main__": 
    app.run() 

Ziemlich sicher Das Problem ist nicht auf init .py aber wahrscheinlich entweder auf der wsgi-Datei oder auf der virtuellen Maschine. Ich habe viele Möglichkeiten ausprobiert, aber ohne Erfolg (aber ich könnte es auch falsch machen).

Benötigen Sie Hilfe von der Gemeinschaft.

+0

Wie lautet der vollständige Pfadname für die Datei '' FlaskApp/__ init __. Py''? Sind Ihre Verzeichnisse/Dateien für den Apache-Benutzer zugänglich? Unrelated, aber beziehen Sie sich auch auf http://modwsgi.readthedocs.io/en/develop/user-guides/virtual-environments.html für die Best Practices zum Einrichten einer virtuellen Python-Umgebung mit mod_wsgi. Verwenden Sie nicht '' python-path'', um auf die virtuelle Python-Umgebung zu verweisen. –

Antwort

0

Haben Sie sichergestellt, dass Ihre Init-Datei __init__.py heißt? Ich sehe, dass Sie es in Ihrer Frage als init.py bezeichnen. Das könnte das Problem sein, das die __init__.py Python zeigt es Teil eines Pakets ist und wenn Sie andere Pakete importieren, wird es zuerst diese Datei betrachten. Wenn Sie es nicht richtig benannt haben, vielleicht deshalb, weil es sagt, dass es das Modul nicht finden kann, das Sie brauchen?

+0

Ja, ich habe den Dateinamen umbenannt als _init_.py, entschuldige mich für den Tippfehler. – howardlhw

+0

Ah ja, ich denke, Stackoverflow-Formatierung macht es schwierig, deshalb habe ich meine in Backticks umgeben, um es wie ein Code-Snippet zu machen. Auch in deiner wsgi-Datei hast du versucht, deine App so zu importieren. Import App als Anwendung " – davidejones

+0

ja, ich habe und das ist, was ich am Ende der WSI-Datei - " von FlaskApp importieren App als Anwendung " . Konnte nicht herausfinden, was das Problem ist – howardlhw

Verwandte Themen