Windows Server 2012 上的 Apache 2.4 上的 WSGI 文件未加载 Python Flask 文件

WSGI file not loading Python Flask file on Apache 2.4 on Windows Server 2012

我正在尝试 运行 一个查询 SQLite 数据库并仅在网络内部显示 Rest API 的 Flask 脚本。它将在 Windows Server 2012 运行ning Apache 2.4 和 mod_wsgi 上运行。我也在使用 Python 3.7.

我在错误日志中收到的错误是:

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 与 app.py 在同一目录下

这是我在web.wsgi上写的。我从 google 上找到的内容复制并粘贴了这个,因为我对此还是很陌生。

import sys
import logging

logging.basicConfig (stream=sys.stderr)
sys.path.insert(0,'/')

from app.py import app as application

我也注释掉了:

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

在 app.py 中根据此站点: https://flask.palletsprojects.com/en/1.1.x/deploying/mod_wsgi/。 但我认为请求还没有达到那种程度。我怀疑,这可能与路径相关或权限有关?

您的应用程序未设置为包,因此 wsgi 代码中的导入为您提供 ModuleNotFoundError.

将您的应用程序放在一个名为 e.g. 的目录中。 myapp 并在包含

的目录中添加一个 __init__.py 文件
from .app import app

将其打包。

您的目录结构应如下所示:

web.wsgi
myapp/
    app.py
    __init__.py

然后将 wsgi 文件中的 import 行更改为

from myapp import app as application