windows下
今天做一个练习需要用到python的redis模块,但安装了redis模块后,运行脚本却得到这样的结果:
PS H:\project\python course\python_pra> python producer.py
生产者生产了两个数字:3, 95
Exception in thread Thread-1:
Traceback (most recent call last):
File "D:\Python39\lib\site-packages\redis\connection.py", line 567, in connect
sock = self._connect()
File "D:\Python39\lib\site-packages\redis\connection.py", line 625, in _connect
raise err
File "D:\Python39\lib\site-packages\redis\connection.py", line 613, in _connect
sock.connect(socket_address)
ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\Python39\lib\threading.py", line 954, in _bootstrap_inner
self.run()
File "H:\project\python course\python_pra\producer.py", line 17, in run
self.queue.rpush('producer', json.dumps((a, b)))
File "D:\Python39\lib\site-packages\redis\commands\core.py", line 1809, in rpush
return self.execute_command('RPUSH', name, *values)
File "D:\Python39\lib\site-packages\redis\client.py", line 1068, in execute_command
conn = self.connection or pool.get_connection(command_name, **options)
File "D:\Python39\lib\site-packages\redis\connection.py", line 1173, in get_connection
connection.connect()
File "D:\Python39\lib\site-packages\redis\connection.py", line 571, in connect
raise ConnectionError(self._error_message(e))
redis.exceptions.ConnectionError: Error 10061 connecting to localhost:6379. 由于目标计算机积极拒绝,无法连接。.
很长啊,啪的一下,就那么长了,这里主要是说,本机的redis服务没有启动,而我的电脑还么安装redis,所以现在先安装redis。 安装网址 点进去下载压缩包即可 然后解压缩在你需要安装的目录,然后我们来看看能不能启动redis服务
./redis-server redis.windows.conf
对应目录输入该命令,出现以下界面就表明redis服务已启动
接下来我们先看看我们的代码是否可用了 嗯,很流畅。那么接下来呢?结束啦?不是哦,你的redis服务现在是属于软件点击启动才启动,但我们每次使用redis模块都要到该目录下输入命令启动一次?太麻烦了,我们设置一下让它在电脑中跟随其他服务启动而启动。 同样是该目录下输入以下命令
PS D:\Redis-x64-3.2.100> ./redis-server --service-install redis.windows.conf --loglevel verbose
[11896] 04 Dec 17:39:05.607
PS D:\Redis-x64-3.2.100>
嗯。。。。。。失败了,为什么呢? 查了一下,它说之前已经安装了,所以启动同样的命令失败,嗯?所以我关闭了也算是服务在后台?我不确定,现在也不检验这个东西,那我们就先卸载一下然后在启动吧
PS D:\Redis-x64-3.2.100> ./redis-server --service-uninstall
[10332] 04 Dec 17:41:15.503
PS D:\Redis-x64-3.2.100> ./redis-server --service-install redis.windows.conf --loglevel verbose
[1884] 04 Dec 17:42:04.596
[1884] 04 Dec 17:42:04.596
PS D:\Redis-x64-3.2.100> ./redis-server --service-start
[13984] 04 Dec 17:42:41.424
PS D:\Redis-x64-3.2.100>
然后我关闭了cmd终端,试验一下可行性 嗯,可以。哈哈哈。
linux的centos7云服务器
在windows系统中已经尝试过了,那linux环境呢?下面是我的腾讯服务器的实验,腾讯服务器装载的是centos7系统,它已经内置了python,所以我先安装了pip管理。
yum install python-pip
然后安装redis模块
pip install redis
但却出现以下错误:
Downloading http://mirrors.tencentyun.com/pypi/packages/da/f6/c83229dcc3635cdeb51874184241a9508ada15d8baa337a41093fab58011/pip-21.3.1.tar.gz (1.7MB)
100% |████████████████████████████████| 1.7MB 3.3MB/s
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-VjaPWF/pip/setup.py", line 7
def read(rel_path: str) -> str:
^
SyntaxError: invalid syntax
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-VjaPWF/pip/
查了一下,资料显示是我的python版本太老了,不支持该模块,所以要安装一下python3,然后安装redis,这里要用pip3
yum install python3
pip3 install redis
然后我们的模块都备全了,要开启一下服务。
redis-server
然后运行一下程序即可,注意之前是安装了python3,所以运行也得是它
[root@VM-0-17-centos ~]
生产者生产了两个数字:{a},{b}
生产者生产了两个数字:{a},{b}
生产者生产了两个数字:{a},{b}
生产者生产了两个数字:{a},{b}
生产者生产了两个数字:{a},{b}
生产者生产了两个数字:{a},{b}
^Z
[2]+ Stopped python3 producer.py
结果如上所示,可用,这里只是进行一下简单的使用,所以linux中的服务启动等就不继续了。 不过redis的启动在win11的ubuntu子系统上出错
457:M 04 Dec 2021 21:34:20.401
457:M 04 Dec 2021 21:34:20.401
457:M 04 Dec 2021 21:34:20.402
457:M 04 Dec 2021 21:34:20.404 * Ready to accept connections
这里先做个记录吧,不进行了。
|