Python 在windows上使用apache mod_wsgi运行flask应用程序时导入冲突

Python 在windows上使用apache mod_wsgi运行flask应用程序时导入冲突,python,flask,mod-wsgi,Python,Flask,Mod Wsgi,我允许你问一下我在windows上用你的mod_wsgi移植托管flask应用程序时遇到的一个问题 我有两个flask应用程序,由于导入冲突,同一时间只有一个可用 即: 如果请求应用程序1,我有一个响应 然后,如果我请求应用程序2,我有内部服务器错误,日志中有错误。。。 然后,如果我重新启动apache并请求应用程序2,我会有一个响应,但如果我请求应用程序1,我会有相同的内部服务器错误 如果我评论一些导入,比如numpy,两个应用程序可以同时处于活动状态 如果您对此问题有任何想法、链接或答案,将

我允许你问一下我在windows上用你的mod_wsgi移植托管flask应用程序时遇到的一个问题

我有两个flask应用程序,由于导入冲突,同一时间只有一个可用

即: 如果请求应用程序1,我有一个响应 然后,如果我请求应用程序2,我有内部服务器错误,日志中有错误。。。 然后,如果我重新启动apache并请求应用程序2,我会有一个响应,但如果我请求应用程序1,我会有相同的内部服务器错误 如果我评论一些导入,比如numpy,两个应用程序可以同时处于活动状态

如果您对此问题有任何想法、链接或答案,将不胜感激

我的安装描述如下

提前感谢您的游览时间和您的作品

亚历山大

错误日志
mod_wsgi(pid=4936):无法执行Python脚本文件“D:/exec/Apache24/htdocs/wsgi/api_test_2.wsgi”。
mod_wsgi(pid=4936):处理wsgi脚本“D:/exec/Apache24/htdocs/wsgi/api_test_2.wsgi”时发生异常。
回溯(最近一次呼叫最后一次):
文件“D:/exec/Apache24/htdocs/wsgi/api_test_2.wsgi”,第3行,在
从api_测试_2导入应用程序作为应用程序
文件“D:/exec/wsgi\u api/api\u test\u 2\api\u test\u 2.py”,第2行,在
导入numpy
文件“c:\python\python36\lib\site packages\numpy\\uuuu init\uuuuu.py”,第142行,在
从…起导入核心
文件“c:\python\python36\lib\site packages\numpy\core\\uuuuu init\uuuuuu.py”,第16行,在
从…起导入多数组
文件“c:\python\python36\lib\site packages\numpy\core\multiarray.py”,第12行,在
从…起导入覆盖
文件“c:\python\python36\lib\site packages\numpy\core\overrides.py”,第46行,在
“”“”
运行时错误:实现\数组\函数方法已具有docstring

#---------------------------------
# file : D:/exec/wsgi_api/api_test_1/api_test_1.py    
#---------------------------------
from flask import Flask, jsonify,render_template, request, make_response
import numpy
app = Flask(__name__)
@app.route('/')
def home():
    resp = make_response("hello from 1", 200)
    resp.headers['Content-Type'] = 'charset=utf-8'
    return resp
#---------------------------------        

#---------------------------------
# file : D:/exec/wsgi_api/api_test_2/api_test_2.py    
#---------------------------------
from flask import Flask, jsonify,render_template, request, make_response
import numpy
app = Flask(__name__)    
@app.route('/')
def home():
    resp = make_response("hello from 2", 200)
    resp.headers['Content-Type'] = 'charset=utf-8'
    return resp
if __name__ == '__main__':
    app.run(host='127.0.0.1', port=36000)
#---------------------------------
我在AppacheHttpDocs中有两个wsgi文件

#---------------------------------
# file : D:/exec/Apache24/htdocs/wsgi/api_test_1.wsgi
#---------------------------------
import sys 
sys.path.append('D:/exec/wsgi_api/api_test_1/') 
from api_test_1 import app as application
#---------------------------------


#---------------------------------
# file : D:/exec/Apache24/htdocs/wsgi/api_test_2.wsgi
#---------------------------------
import sys 
sys.path.append('D:/exec/wsgi_api/api_test_1/') 
from api_test_1 import app as application
#---------------------------------


#---------------------------------
In D:/exec/Apache24/conf/httpd.conf i add the line
#---------------------------------
WSGIScriptAlias /api_test_1 "D:/exec/Apache24/htdocs/wsgi/api_test_1.wsgi"
WSGIScriptAlias /api_test_2 "D:/exec/Apache24/htdocs/wsgi/api_test_2.wsgi"
#---------------------------------

尝试将其放入WSGI配置文件:

single-interpreter = true

我在一个项目中遇到了一个类似的问题。在我的例子中,我必须在我的站点的
.conf
文件中添加
WSGIApplicationGroup%{GLOBAL}

这是我找到信息的文档:

我在mod_wsgi邮件列表上进行了讨论,我得到了相同的回答,解释是numpy在Python子解释器中不起作用,因为C扩展模块没有正确实现,因此对于mod_wsgi,您只能在主解释器上下文中使用numpy,这是由“WSGIApplicationGroup%{GLOBAL}强制执行的“指令

这与主题相关

这对我很有用


我添加了WSGIApplicationGroup%{GLOBAL}在apache配置文件中,该文件位于站点启用文件夹中。

在linux上的问题是相同的。
.conf
您指的是什么文件?请提供完整的路径。谢谢!如果您指的是
httpd.conf
我需要在哪里添加它,我指的是哪个部分。@lorenzo,我在这里被困了3天。比谢谢你。