为什么 redis-py 没有地理扩展?

Why does redis-py not have geo extensions?

我通过pip安装了redis-py2.10.5。它安装没有错误。但是,我无法访问地理相关功能。

In [1]: import redis

In [2]: r = redis.StrictRedis(host='localhost', port=6379, db=0)

In [3]: r.set('foo', 'bar')
Out[3]: True

In [4]: r.geoadd('Sicily 13.361389 38.115556 "Palermo" 15.087269 37.502669')
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-4-4e252ecb84dd> in <module>()
----> 1 r.geoadd('Sicily 13.361389 38.115556 "Palermo" 15.087269 37.502669')

AttributeError: 'StrictRedis' object has no attribute 'geoadd'

我哪里错了?

官方 github 回购中有一个未解决的问题:'StrictRedis' object has no object called 'geoadd'

从问题评论中你有两个选择:

You can either use the fork mentioned in that issue (preferred) or pip install git+https://github.com/andymccurdy/redis-py.git.

r.execute_command('Sicily 13.361389 38.115556 "Palermo" 15.087269 37.502669')

有效。