redis-py AttributeError: 'module' object has no attribute

12

我在CentOS和Ubuntu上安装了redis-py。在尝试访问时,两者都出现相同的错误。

redis-py AttributeError: 'module' object has no attribute

如果我在与源代码相同的目录中使用Python提示符,这将有效:

>>> import redis
>>> r = redis.Redis(host='localhost', port=6379, db=0)

但如果我更改目录,它将会出现错误。

>>> import redis
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "redis.py", line 4, in <module>
    print redis.__version__
AttributeError: 'module' object has no attribute '__version__'

尝试使用.py脚本总是会出现错误。有什么想法我做错了什么,以及如何修复它。可能是Python新手的问题...


你能否提供更多关于如何安装redis-py的信息? - brice
2个回答

41

当你给你正在开发的模块命名为redis.py时,Python会导入该模块而不是真正的redis模块。不要这样做,或者改变sys.path,确保当前工作目录在搜索目录列表中处于最后而不是第一位。


0

我在使用Tornado时遇到了一个错误,原因是我在Python 2.7上安装了Redis并且也在Python 3上安装了它。后来我卸载了Python 2.7上的Redis,并重新在Python 3上安装,问题得以解决!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接