0

I get this error, Your version of greenlet (0.3.1) is too old (required >= 0.3.2) when I am trying to run ssbench openstack-swift benchmarking tool.

I updated the greenlet to the version 0.4.5 using sudo pip install --upgrade greenlet

but it still give this error. I can see the greenlet.so in the distribution folder which is the latest.

Furthermore, I wrote below to check version,

import greenlet  
greenlet_version = getattr(greenlet, '__version__', None)
print(str(greenlet_version))

This also returned 0.3.1.

I am confused why this happens?

4

1 回答 1

2

人们需要停止对版本号进行硬编码...问题出在 \Lib\site-packages\gevent\hub.py 中,它说:

import greenlet  # http://pypi.python.org/pypi/greenlet/
greenlet_version = getattr(greenlet, '__version__', None)
if greenlet_version:
    greenlet_version_info = [int(x) for x in greenlet_version.split('.')]
if not greenlet_version or greenlet_version_info[:3] < [0, 3, 2]:
    raise ImportError('''Your version of greenlet (%s) is too old (required >= 0.3.2)
         You can get a newer version of greenlet from http://pypi.python.org/pypi/greenlet/''' % (greenlet_version, ))

错误是“您的 greenlet 版本未列在我更新不佳的可识别版本列表中。” 只需在您的库副本中注释掉第 12-14 行......悲伤。

于 2016-03-07T16:21:59.743 回答