在 Cloud9 上将 Redis 升级到 运行 in Python
Getting Redis to run in Python on Cloud9
我在 Cloud9 的 Python 上看到了让 Redis 达到 运行 的示例,但我一直遇到基本错误。
就运行宁:
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 运行ning。 运行
redis-cli ping
产生正确的 PONG 响应。
想法?
您有一个名为 socket.py 的本地文件,它正在隐藏标准库套接字模块。重命名您的文件。
要安装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')
我在 Cloud9 的 Python 上看到了让 Redis 达到 运行 的示例,但我一直遇到基本错误。
就运行宁:
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 运行ning。 运行 redis-cli ping 产生正确的 PONG 响应。
想法?
您有一个名为 socket.py 的本地文件,它正在隐藏标准库套接字模块。重命名您的文件。
要安装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')