无法从gevent

时间:2018-06-17 21:27:56

标签: 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

请注意我已使用pip install gevent下载了gevent 如果是相关的话,我也在Mac版本10.13.5上 感谢

1 个答案:

答案 0 :(得分:8)

gevent.wsgi已过时多年,最终在gevent 1.3中被删除。这个问题有一个开放的bottle bug。您可以选择的一些选项是:

  1. 使用其他WSGI服务器。您可以直接将gevents wsgi服务器与python -m gevent.pywsgi my_module:my_app一起使用。或尝试使用金枪鱼
  2. 降级到较旧的gevent
  3. 修补瓶源以确保其导入没有损坏。 gevent.wsgi只是做from gevent.pywsgi import *,所以只要看到wsgi.Thing都可以将其替换为pywsgi.Thing