【发布时间】:2021-11-07 01:22:04
【问题描述】:
我在 Flask 服务器上使用 pywps 开发了一个服务器应用程序,现在我正在尝试将其迁移到 apache 服务器。
技术栈: 操作系统:Windows 服务器 蟒蛇 3.9.6 阿帕奇 2.4.48 (Win64) mod-wsgi 4.8.0
我可以打开配置的 URL,但收到状态代码 500。错误日志显示以下内容:
mod_wsgi (pid=7212, process='', application='127.0.0.1:8008|/wps'): Loading Python script file 'C:/Apache24/wps_env/pywps-flask-master/pywps.wsgi'.
mod_wsgi (pid=7212): Failed to exec Python script file 'C:/Apache24/wps_env/pywps-flask-master/pywps.wsgi'.
mod_wsgi (pid=7212): Exception occurred processing WSGI script 'C:/Apache24/wps_env/pywps-flask-master/pywps.wsgi'.
Traceback (most recent call last):\r
File "C:/Apache24/wps_env/pywps-flask-master/pywps.wsgi", line 9, in <module>\r
import pywps\r
ModuleNotFoundError: No module named 'pywps'\r
有问题的 wsgi 文件是:
from pathlib import Path
import pywps
from pywps import Service
from processes.sayhello import SayHello
from processes.csv_input import CSVInputs
processes = [
SayHello(),
CSVInputs()
]
application = Service(processes, [Path(r'C:\Users\Jdoe\wps_env\pywps-flask-master\pywps.cfg')])
现在奇怪的事情来了,我能够从 powershell 执行这个 exakt 相同的脚本而完全没有错误。 我会排除路径或环境相关问题,因为我已经安装了我在 virtaul enviroemnt 中使用的所有 pip 包,我还必须在全局命名空间中开发,所以两个解释器都知道相同的包。我知道这不是最佳实践,但无论如何我目前都在沙箱中工作,这更像是一个 POC。
由于 wsgi 应用程序尝试运行,我还假设我的 apache conf 是正确的。
我在这里错过了什么?
感谢您的帮助
【问题讨论】:
标签: python apache flask mod-wsgi wps