Estoy tratando de ejecutar un script Flask que consulta una base de datos SQLite y muestra una API Rest solo para el interior de la red. Se va a servir en Windows Server 2012 con Apache 2.4 con mod_wsgi. También estoy usando Python 3.7.
El error que estoy recibiendo en el registro de errores es:
File "D:/sites/cifsearch/website/web.wsgi", line 7, in <module>\r, referer: http://IP Address/ from app.py import app as application\r, referer: http://IP Address/ ModuleNotFoundError: No module named 'app'\r, referer: http://IP Address/web.wsgi está en el mismo directorio que app.py
Esto es lo que he escrito en web.wsgi. Copié y pegué esto de lo que pude encontrar en google ya que todavía soy muy nuevo en esto.
import sys import logging logging.basicConfig (stream=sys.stderr) sys.path.insert(0,'/') from app.py import app as applicationTambién comenté:
if __name__ == "__main__": app.run()en app.py según este sitio: https://flask.palletsprojects.com/en/1.1.x/deploying/mod_wsgi/ . Pero no creo que la solicitud esté llegando tan lejos. Sospecho que probablemente esté relacionado con la ruta o los permisos.
Su aplicación no está configurada como un paquete, por lo que la importación en su código wsgi le da el ModuleNotFoundError .
Coloque su aplicación en un directorio llamado, por ejemplo, myapp y agregue un archivo __init__.py al directorio que contiene
from .app import apppara que sea un paquete.
La estructura de su directorio debería verse así:
web.wsgi myapp/ app.py __init__.py Luego cambie su línea de import en el archivo wsgi a
from myapp import app as application