ModuleNotFoundError:没有名为' gevent.wsgi'

时间:2018-05-22 07:03:26

标签: python python-3.6 wsgi gevent rasa-core

我在运行flask应用时出现以下错误:

  

来自gevent.wsgi导入WSGIServer
  ModuleNotFoundError:没有名为' gevent.wsgi'

已经安装了gevent并且满足了要求。

Pip版本是10.11和Python 3.6  操作系统:Windows 10 x64
 使用Anaconda VM

这个代码在另一台机器上工作,所以在某些地方我缺少配置,但是我无法跟踪/找到它。

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals

import logging
import json
from pprint import pprint
from rasa_core.channels import HttpInputChannel
from rasa_core import utils
from rasa_core.agent import Agent
from rasa_core.interpreter import RasaNLUInterpreter
from rasa_core.channels.channel import UserMessage
from rasa_core.channels.direct import CollectingOutputChannel
from rasa_core.channels.rest import HttpInputComponent
from flask import Blueprint, request, jsonify, abort    
def run(serve_forever=True):
#path to your NLU model
interpreter = RasaNLUInterpreter("models/nlu/default/current")
# path to your dialogues models
agent = Agent.load("models/dialogue", interpreter=interpreter)
#http api endpoint for responses
input_channel = SimpleWebBot()
if serve_forever:
    agent.handle_channel(HttpInputChannel(5004, "/chat", input_channel))
return agent
if __name__ == '__main__':
   utils.configure_colored_logging(loglevel="INFO")
   run()

2 个答案:

答案 0 :(得分:13)

尝试使用:

from gevent.pywsgi import WSGIServer

而不是:

from gevent.wsgi import WSGIServer

答案 1 :(得分:2)

您引用的导入语句需要更新为:

from gevent.pywsgi import WSGIServer

在发布gevent 1.3时,不建议使用gevent.wsgi模块和was removed。它的替代品是gevent.pywsgi模块,该模块已经存在了一段时间。

在您的情况下,您使用的rasa-core库似乎是导入行错误的库。这是fixed,从0.9.0版本开始,因此您应该将该依赖关系更新为较新的版本。