即使安装了0.4.5,Greenlet版本也太旧了。为什么?

时间:2015-04-15 00:11:26

标签: python openstack-swift greenlets

我收到此错误, 您的greenlet版本(0.3.1)太旧(必需> = 0.3.2) 当我试图运行ssbench openstack-swift基准测试工具时。

我使用了将greenlet更新到版本0.4.5 sudo pip install --upgrade greenlet

但仍然会出现此错误。 我可以在分发文件夹中看到最新的greenlet.so。

此外,我在下面写了检查版本,

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

这也返回0.3.1。

我很困惑为什么会这样?

1 个答案:

答案 0 :(得分: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行......悲伤。