我已经看过让Redis在Cloud9上运行Python的示例,但我仍然遇到了一个基本错误。
刚跑:
import os
import redis
#r = redis.Redis()
产生模块和套接字错误如下:
追踪(最近一次呼叫最后一次):
File "/home/ubuntu/workspace/redis-trial.py", line 5, in <module> from redis.client import Redis, StrictRedis
File "/usr/local/lib/python2.7/dist-packages/redis/__init__.py", line 1, in <module> from redis.client import Redis, StrictRedis
File "/usr/local/lib/python2.7/dist-packages/redis/client.py", line 10, in <module> from redis.connection import (ConnectionPool, UnixDomainSocketConnection,
File "/usr/local/lib/python2.7/dist-packages/redis/connection.py", line 6, in <module> import socket
File "/home/ubuntu/workspace/socket.py", line 5, in <module> s = socket.socket() # Create a socket object TypeError: 'module' object is not callable
(是的,我知道我注释了r = redis.Redis()
,但无论我是否留下它,我都会遇到同样的问题。
我尝试过其他配置,例如:
r = redis.Redis(host='localhost', port=6379, db=0, password=None, socket_timeout=None, connection_pool=None, charset='utf-8', errors='strict', unix_socket_path=None)
但它不断出现 - 看起来像最初的导入。
我在服务器上运行Redis-cli。运行 redis-cli ping 产生正确的PONG响应。
想法?
答案 0 :(得分:1)
要安装redis-py,只需: $ sudo pip install redis
import redis, os
r_server = redis.Redis(host=os.getenv("IP", "0.0.0.0"), port=6379)
r_server.set('test_key', 'test_value')
print "test_key: " + r_server.get('test_key')
答案 1 :(得分:0)
您有一个名为socket.py的本地文件,该文件隐藏了标准库套接字模块。重命名您的文件。