0

我在跑:

gevent==0.13.8  
gevent-socketio==0.3.5-rc2  
gunicorn==18.0  

并遇到以下错误:

2013-11-05 06:40:00 [5671] [ERROR] Exception in worker process:
Traceback (most recent call last):
  File "/home/vagrant/server/lib/python2.7/site-packages/gunicorn/arbiter.py", line 495, in spawn_worker
    worker.init_process()
  File "/home/vagrant/server/lib/python2.7/site-packages/gunicorn/workers/ggevent.py", line 165, in init_process
    super(GeventWorker, self).init_process()
  File "/home/vagrant/server/lib/python2.7/site-packages/gunicorn/workers/base.py", line 112, in init_process
    self.run()
  File "/home/vagrant/server/lib/python2.7/site-packages/socketio/sgunicorn.py", line 14, in run
    self.socket.setblocking(1)
AttributeError: 'GeventSocketIOWorker' object has no attribute 'socket'

以前的堆栈溢出问题有解决方案“降级到版本 16.0”

GeventSocketIOWorker 没有属性“套接字”

但是我不愿意这样做,因为 v18.0 中的添加对我来说真的很有用。

我在这里问是因为我不确定我是否缺少一个简单的解决方案。如果不是,我想我需要为 gunicorn 买票?

4

1 回答 1

0

这是一个版本的事情。

gevent-socketio 版本 0.3.5-rc2 于 2012 年 7 月上传到 Pypi。此问题的修复程序于 2013 年 1 月发布。

我通过使用 GitHub 上 gevent-socketio 存储库中的 master 分支解决了这个问题。为此,请将 requirements.txt 中 gevent-socketio 的行更改为

-e git+git@github.com:abourget/gevent-socketio.git#egg=gevent_socketio
于 2013-11-08T12:18:21.977 回答