python - 在没有 pip 的 virtualenv 中安装 redis 5.x 包
问题描述
我在 virtualenv 中安装redis 3.5.3
使用。pip
但根据我的需要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-server 正在运行(也使用验证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, [...])
推荐阅读
- java - 在不使用通知样式的情况下创建自定义通知
- javascript - 角度为 9 的空对象数组的动作
- uwp-xaml - 如何计算 UWP 中 Canvas 的 PointerMoved 事件期间移动的距离?
- mysql - BigQuery:查找 ID 类型为 RECORD 的数组并使用 SQL 连接辅助表中的数据
- spreadjs - 加载spreadjs时在Firefox中出现一些奇怪的控制台错误
- pycharm - PyCharm 垂直编辑:寻找与 Alt 键等效的 Visual Studio 以选择多行
- node.js - Mongoose 模型未在我的 Node.js index.js 文件中导入
- reactjs - 如何处理 useState 延迟
- json - Django Rest API 更新实例问题
- python - 根据列表顺序重新排列列,然后将列表映射为新列