読者です 読者をやめる 読者になる 読者になる

カイワレの大冒険 Third

技術的なことや他愛もないことをたまに書いてます

redis-pyが「AttributeError: 'module' object has no attribute 'StrictRedis'」エラーを吐いた件

redis-pyを動かそうと思ったら、以下の様なエラーが。

$ python redis.py
Traceback (most recent call last):
  File "redis.py", line 1, in <module>
    import redis
  File "/var/tmp/redis.py", line 2, in <module>
    r = redis.StrictRedis(host='localhost', port=6379, db=0)
AttributeError: 'module' object has no attribute 'StrictRedis'

見たこともなく、謎い。

ソースコードはREADMEにあるものを使っているので、以下のようにシンプル。

import redis
r = redis.StrictRedis(host='localhost', port=6379, db=0)
r.set('foo', 'bar')
print(r.get('foo'))

しばらく悩んだが、答えは簡単で、スクリプト名を「redis.py」にしていたので、ローカルのこのファイルをモジュールとして読み込もうとしていただけ。

ファイル名を変えて、再実行。

$ python sample_redis.py
b'bar'

無事解決。見事にハマった。