无法从gevent导入wsgi

fre*_*red 7 python heroku

我正在尝试在本地运行我的heroku应用程序,以便在没有互联网时使用它.我可以在推送它之后在Heroku网站上完全运行该应用程序但是我无法在本地运行它.当我跑步时,heroku local我特别得到这个错误:

11:17:19 web.1   |  Traceback (most recent call last):
11:17:19 web.1   |    File "app.py", line 24, in <module>
11:17:19 web.1   |      bottle.run(server='gevent', host='0.0.0.0', port=os.environ.get('PORT', 5000))
11:17:19 web.1   |    File "/usr/local/lib/python2.7/site-packages/bottle.py", line 3127, in run
11:17:19 web.1   |      server.run(app)
11:17:19 web.1   |    File "/usr/local/lib/python2.7/site-packages/bottle.py", line 2907, in run
11:17:19 web.1   |      from gevent import wsgi, pywsgi, local
11:17:19 web.1   |  ImportError: cannot import name wsgi
11:17:19 web.1   Exited with exit code 1
Run Code Online (Sandbox Code Playgroud)

请注意我已经下载了gevent使用pip install gevent
另外我在Mac版本10.13.5,如果是相关的
谢谢

Jas*_*den 8

gevent.wsgi已被弃用多年,最终在gevent 1.3中被删除.这个问题有一个开瓶错误.您的一些选择是:

  1. 使用不同的WSGI服务器.你可以直接使用gevents wsgi服务器python -m gevent.pywsgi my_module:my_app.或尝试gunicorn
  2. 降级为较旧的gevent
  3. 修补瓶子来源没有破损的导入.gevent.wsgi简单地说from gevent.pywsgi import *,所以你看到的任何地方都可以wsgi.Thing替换它pywsgi.Thing.

  • 最简单的解决方案是`pip install -U'gevent~ = 1.2.2'` (3认同)