首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有一个模块名为“lupa”的假红

没有一个模块名为“lupa”的假红
EN

Stack Overflow用户
提问于 2020-06-10 18:12:43
回答 1查看 499关注 0票数 2

当我从lock.release库中使用fakeredis时,我得到了以下异常:

代码语言:javascript
复制
   File "/usr/local/lib/python3.6/site-packages/redis/lock.py", line 111, in acquire
     if self.do_acquire(token):
   File "/usr/local/lib/python3.6/site-packages/redis/lock.py", line 258, in do_acquire
     client=self.redis))
   File "/usr/local/lib/python3.6/site-packages/redis/client.py", line 2950, in __call__
     return client.evalsha(self.sha, len(keys), *args)
   File "/usr/local/lib/python3.6/site-packages/redis/client.py", line 2079, in evalsha
     return self.execute_command('EVALSHA', sha, numkeys, *keys_and_args)
   File "/usr/local/lib/python3.6/site-packages/redis/client.py", line 667, in execute_command
     connection.send_command(*args)
   File "/usr/local/lib/python3.6/site-packages/redis/connection.py", line 610, in send_command
     self.send_packed_command(self.pack_command(*args))
   File "/usr/local/lib/python3.6/site-packages/redis/connection.py", line 590, in send_packed_command
     self._sock.sendall(item)
   File "/usr/local/lib/python3.6/site-packages/fakeredis/_server.py", line 808, in sendall
     self._parser.send(data)
   File "/usr/local/lib/python3.6/site-packages/fakeredis/_server.py", line 725, in _parse_commands
     self._process_command(fields)
   File "/usr/local/lib/python3.6/site-packages/fakeredis/_server.py", line 827, in _process_command
     result = self._run_command(func, sig, fields[1:], False)
   File "/usr/local/lib/python3.6/site-packages/fakeredis/_server.py", line 741, in _run_command
     result = func(*args)
   File "/usr/local/lib/python3.6/site-packages/fakeredis/_server.py", line 2439, in evalsha
     return self.eval(script, numkeys, *keys_and_args)
   File "/usr/local/lib/python3.6/site-packages/fakeredis/_server.py", line 2386, in eval
     from lupa import LuaRuntime, LuaError, as_attrgetter
 No module named 'lupa'

我没有找到类似的问题(到目前为止),所以我只想告诉那些将来会面临这个例外的人的解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-10 18:12:43

正如文档中提到的,

尽管fakeredis是纯Python,但是如果您想要运行Lua脚本,则需要lupa (这包括像redis.lock.Lock这样的特性,这些特性是用Lua实现的)。如果您用fakeredis安装pip install fakeredis[lua],它将自动安装。

So:

代码语言:javascript
复制
pip install fakeredis[lua]
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62310326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档