У меня проблема при развертывании приложения Flask на Apache (на AWS EC2) с использованием mod_wsgi
.У меня включен venv
и внутри него установлена фляга, но когда я пытаюсь получить выбранный URL - я получаю (из apache error.log ):
Exception occurred processing WSGI script '/var/www/crimemap/crimemap.wsgi'.
Traceback (most recent call last):
File "/var/www/crimemap/crimemap.wsgi", line 8, in <module>
from app import app as application
File "/var/www/crimemap/app.py", line 1, in <module>
from flask import Flask, render_template, request
ImportError: No module named flask
Вот crimemap.wsgi
файл:
#!/var/www/crimemap/venv/bin/python
import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/var/www/crimemap/")
from app import app as application
application.secret_key = 'secret key'
Мой app.py
файл:
from flask import Flask, render_template, request
from dbhelper import DBHelper
app = Flask(__name__)
DB = DBHelper()
@app.route("/")
def home():
# do something
return render_template("index.html", data=data)
if __name__ == '__main__':
app.run(host="0.0.0.0", port=5000, debug=True)
И мой crimemap.conf
:
<VirtualHost *:80>
ServerName my_server_name
WSGIScriptAlias / /var/www/crimemap/crimemap.wsgi
<Directory /var/www/crimemap/>
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel info
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Похоже, запрос идет к моемуприложение, но каким-то образом оно не видит текущую виртуальную среду или что-то.Когда я запускаю python app.py
- мое приложение работает.В чем может быть проблема?