Ich versuche, eine einfache Pythonflasche App auf Amazon Linux AMI zu betreiben. Ich kann die AMI-Testseite von Amazon Linux zeigen, aber wenn ich versuche, die richtige Konfiguration für die Ausführung meiner App zu erstellen, stehe ich immer vor dem gleichen Problem.Python Flask App auf EC2 AWS
[Fri Sep 16 12:56:39.190230 2016] [:error] [pid 17977] [remote 77.246.17.229:59978] mod_wsgi (pid=17977): Target WSGI script '/var/www/flaskapp/app.wsgi' cannot be loaded as Python module.
[Fri Sep 16 12:56:39.190239 2016] [:error] [pid 17977] [remote 77.246.17.229:59978] mod_wsgi (pid=17977): Exception occurred processing WSGI script '/var/www/flaskapp/app.wsgi'.
[Fri Sep 16 12:56:39.190252 2016] [:error] [pid 17977] [remote 77.246.17.229:59978] Traceback (most recent call last):
[Fri Sep 16 12:56:39.190271 2016] [:error] [pid 17977] [remote 77.246.17.229:59978] File "/var/www/flaskapp/app.wsgi", line 26, in <module>
[Fri Sep 16 12:56:39.190288 2016] [:error] [pid 17977] [remote 77.246.17.229:59978] from app import app as application
[Fri Sep 16 12:56:39.190294 2016] [:error] [pid 17977] [remote 77.246.17.229:59978] File "/var/www/flaskapp/app.py", line 1, in <module>
[Fri Sep 16 12:56:39.190303 2016] [:error] [pid 17977] [remote 77.246.17.229:59978] from flask import Flask
[Fri Sep 16 12:56:39.190316 2016] [:error] [pid 17977] [remote 77.246.17.229:59978] ImportError: No module named flask
Mein app.py:
from flask import Flask
app=Flask(__name__)
@app.route('/')
def home():
return "Hello World!"
if __name__ == "__main__":
app.run()
Mein app.wsgi:
import sys
import site
import os
# Add virtualenv site packages
site.addsitedir(os.path.join(os.path.dirname(__file__), '/env/lib/python2.7/site-packages'))
activate_this = '/var/www/flaskapp/env/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
# Path of execution
sys.path.insert(0,'/var/www/flaskapp')
#import the app
from app import app as application
und meine httpd.conf:
<VirtualHost *>
ServerName ec2....
WSGIDaemonProcess app threads=5 home=/var/www/flaskapp/ python-path=/var/www/flaskapp/env/lib/python2.7 threads=1
DocumentRoot /var/www/flaskapp
WSGIScriptAlias//var/www/flaskapp/app.wsgi
<Directory /var/www/flaskapp>
WSGIProcessGroup app
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
Wenn ich mir anschaue, was installiert in der Virtuellenv wit pip freeze bekomme ich diese:
click==6.6
Flask==0.11.1
itsdangerous==0.24
Jinja2==2.8
MarkupSafe==0.23
Werkzeug==0.11.11
so ist Flask installiert. Warum kann ich es nicht importieren? Was mache ich falsch?
dank
Die Eingabe 'python-path' in' WSGIDaemonProcess' sollte auf ein Verzeichnis 'site-packages' zeigen. – Suever
Wenn ich Python-Pfad zu /var/www/flaskapp/env/lib/python2.7/site-packages ändern, bekomme ich das: von Markupsafe-Import Markup, escape, soft_unicode ImportError: Kein Modul namens Markupsafe – Thomas