在没有 pip 的情况下在 virtualenv 中安装 redis 5.x 包

Installing redis 5.x package in virtualenv without pip

我在 virtualenv 中使用 pip 安装了 redis 3.5.3。但是由于我需要 redis 5.x,我卸载了 redis 并尝试使用 pip 使用较新的版本。但是,我得到了

$ pip install redis==5.0.5
ERROR: Could not find a version that satisfies the requirement redis==5.0.5 (from versions: 0.6.0, 0.6.1, 1.34, 1.34.1, 2.0.0, 2.2.0, 2.2.2, 2.2.4, 2.4.0, 2.4.1, 2.4.2, 2.4.3, 2.4.4, 2.4.5, 2.4.6, 2.4.7, 2.4.8, 2.4.9, 2.4.10, 2.4.11, 2.4.12, 2.4.13, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.7.1, 2.7.2, 2.7.3, 2.7.4, 2.7.5, 2.7.6, 2.8.0, 2.9.0, 2.9.1, 2.10.0, 2.10.1, 2.10.2, 2.10.3, 2.10.5, 2.10.6, 3.0.0, 3.0.0.post1, 3.0.1, 3.1.0, 3.2.0, 3.2.1, 3.3.0, 3.3.1, 3.3.2, 3.3.3, 3.3.4, 3.3.5, 3.3.6, 3.3.7, 3.3.8, 3.3.9, 3.3.10, 3.3.11, 3.4.0, 3.4.1, 3.5.0, 3.5.1, 3.5.2, 3.5.3)
ERROR: No matching distribution found for redis==5.0.5

所以,我求助于使用 make 安装它。

$ cd /tmp
$ wget http://download.redis.io/releases/redis-5.0.5.tar.gz
$ tar xzf redis-5.0.5.tar.gz
$ cd redis-5.0.5
$ make

和运行服务器使用$ src/redis-server。我得到

...lots of verbose...
14126:M 22 Jun 2020 12:15:30.196 * DB loaded from disk: 0.000 seconds
14126:M 22 Jun 2020 12:15:30.196 * Ready to accept connections
14126:M 22 Jun 2020 12:15:41.798 * DB saved on disk

我想包是全局安装的,redis 服务器是 运行ning(也使用 sudo systemctl status redis 验证)。但是,现在当我再次使用我的 virtualenv 和 import redis 时,我得到了丢失包的错误。

我应该如何在我的 virtualenv python 脚本中使用 redis 5.x?

http://download.redis.io/releases/redis-5.0.5.tar.gz 指向 Redis(数据库)可执行文件。

这是让 Redis 与 Python、

一起工作的第一步

第二步是获取Python的Redis包来连接数据库。

因为Python的Redis包和实际的Redis数据库不是一回事,你不需要获取与你的数据库版本相匹配的包版本,所有你应该需要的是:

pip install redis

获取 Python 的 Redis 包的最新版本。

从那里开始,您的数据库 运行 在后台,您可以使用 Python 连接:

import redis
db = redis.Redis(host='localhost', port=6379, [...])