Kolben - WSGI - Kein Modul mit dem Namen 'Kolben'
Habe ich Sentdex' Flask tutorial. Er ist mit einem Venv, um seine Kolben, aber nicht mit seiner Python bis zu arbeiten mit einem Venv. Ich habe versucht, die Installation von Flask weltweit - doch es funktioniert immer noch nicht. Versucht zu navigieren, gibt der server einen 500 Internal Server Error
Ich bin immer die üblichen no module named flask
Fehler.
errorFGL.melden Sie
[Sun Feb 05 11:22:32.043925 2017] [wsgi:error] [pid 26340:tid 118578538694400] [client 86.52.205.25:49814] mod_wsgi (pid=26340): Target WSGI script '/var/www-fgl/FlaskApp/flaskapp.wsgi' cannot be loaded as Python module.
[Sun Feb 05 11:22:32.044105 2017] [wsgi:error] [pid 26340:tid 118578538694400] [client 86.52.205.25:49814] mod_wsgi (pid=26340): Exception occurred processing WSGI script '/var/www-fgl/FlaskApp/flaskapp.wsgi'.
[Sun Feb 05 11:22:32.044243 2017] [wsgi:error] [pid 26340:tid 118578538694400] [client 86.52.205.25:49814] Traceback (most recent call last):
[Sun Feb 05 11:22:32.045011 2017] [wsgi:error] [pid 26340:tid 118578538694400] [client 86.52.205.25:49814] File "/var/www-fgl/FlaskApp/flaskapp.wsgi", line 8, in <module>
[Sun Feb 05 11:22:32.045070 2017] [wsgi:error] [pid 26340:tid 118578538694400] [client 86.52.205.25:49814] from FlaskApp import app as application
[Sun Feb 05 11:22:32.045549 2017] [wsgi:error] [pid 26340:tid 118578538694400] [client 86.52.205.25:49814] File "/var/www-fgl/FlaskApp/FlaskApp/__init__.py", line 1, in <module>
[Sun Feb 05 11:22:32.045594 2017] [wsgi:error] [pid 26340:tid 118578538694400] [client 86.52.205.25:49814] from flask import Flask
[Sun Feb 05 11:22:32.045689 2017] [wsgi:error] [pid 26340:tid 118578538694400] [client 86.52.205.25:49814] ImportError: No module named 'flask'
__init__.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def homepage():
return "Success"
if __name__ == "__main__":
app.run()
flaskapp.wsgi
#!/usr/bin/python
import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/var/www-fgl/FlaskApp/")
from FlaskApp import app as application
application.secret_key = '[REDACTED]'
fgl-Datenbank.conf
<VirtualHost *:80>
ServerName [REDACTED]
WSGIScriptAlias / /var/www-fgl/FlaskApp/flaskapp.wsgi
<Directory /var/www-fgl>
Require all granted
</Directory>
Alias /static /var/www-fgl/FlaskApp/FlaskApp/static
<Directory /var/www-fgl/FlaskApp/FlaskApp/static/>
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/errorFGL.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/accessFGL.log combined
</VirtualHost>
- Wenn Sie installiert Kolben Global, dann mod_wsgi ist wahrscheinlich zusammengestellt, für die eine andere Python-version. Für eine Python virtuelle Umgebung, die Sie brauchen, zu sagen, mod_wsgi, wo es ist. Siehe: modwsgi.readthedocs.io/de/develop/user-guides/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als höflich Verhalten bei der Suche nach der Lösung, habe ich gegoogelt um ein bisschen mehr, und es irgendwie geschafft, eine Lösung zu finden, die aus einem YouTube-commment von Nathan Nichols hier:
/etc/apache2/sites-available/FlaskApp.conf
Fügen Sie die folgenden zwei Zeilen vor dem "WSGIScriptAlias" Zeile:
Ich natürlich ersetzt die Python-version mit Python ist3.5, die ist, was ich laufen.
python-path
zu setup-Speicherort der virtuellen Python-Umgebung. Lesen Sie die mod_wsgi docs auf das einrichten von virtuellen Python-Umgebung, die ich bereits angegeben im Kommentar zur Frage. Verwendenpython-home
statt. Siehe: modwsgi.readthedocs.io/de/develop/user-guides/...Ersten install python-virtualenv
Dann aus dem Kolben app-Verzeichnis, wo Sie die Perücken python-Dateien ausführen
virtualenv env
Dadurch wird env-Verzeichnis innerhalb des Kolben-Verzeichnis und enthält die lokale python-installation.
Nächsten aktivieren der virtuellen Umgebung, die durch diesen Befehl
source env/bin/activate
Nach der Aktivierung der virtuellen Umgebung laufen
pip install flask
Laufen
pip --version
Sehen Sie etwas wie dies
pip 19.0.3 von /var/www/html/flaskapp/env/local/lib/python2.7/site-packages/pip (python 2.7)
Kopieren Sie diese python-Pfad
Oben einfügen Zeilen in FlaskApp.conf in sites-available-Verzeichnis von apache
Hinweis setzen python-Pfad, was Sie erhalten, nach der Ausführung pip --version
Laut http://modwsgi.readthedocs.io/en/develop/user-guides/virtual-environments.html.
Sollten Sie Bearbeiten
/etc/apache2/sites-available/FlaskApp.conf
Fügen Sie diese über die
WSGIScriptAlias
WSGIDaemonProcess FlaskApp python-home=/var/www/FlaskApp/FlaskApp/venv/FlaskApp
WSGIProcessGroup FlaskApp
Ich traf das gleiche problem und lösen es durch die Art und Weise.