Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何处理RuntimeWarning:coroutine';新账户';从来没有等待过_Python_Python 3.x_Redis_Python Asyncio_Redis Server - Fatal编程技术网

Python 如何处理RuntimeWarning:coroutine';新账户';从来没有等待过

Python 如何处理RuntimeWarning:coroutine';新账户';从来没有等待过,python,python-3.x,redis,python-asyncio,redis-server,Python,Python 3.x,Redis,Python Asyncio,Redis Server,每当我启动web.py并转到localhost:8080/register时,就会出现此错误。 这是Flash游戏的一部分 web.py:75:RuntimeWarning:coroutine“new\u account”从未等待过 uid,password=utils.bot\u common.new\u帐户(应用程序[“redis”]) RuntimeWarning:启用tracemalloc以获取对象分配回溯 错误处理请求 回溯(最近一次呼叫最后一次): 文件“/root/.local/l

每当我启动web.py并转到
localhost:8080/register
时,就会出现此错误。 这是Flash游戏的一部分

web.py:75:RuntimeWarning:coroutine“new\u account”从未等待过
uid,password=utils.bot\u common.new\u帐户(应用程序[“redis”])
RuntimeWarning:启用tracemalloc以获取对象分配回溯
错误处理请求
回溯(最近一次呼叫最后一次):
文件“/root/.local/lib/python3.7/site packages/aiohttp/web_protocol.py”,第418行,在开始处
resp=等待任务
文件“/root/.local/lib/python3.7/site-packages/aiohttp/web\u-app.py”,第458行,在句柄中
resp=等待处理程序(请求)
文件“/root/.local/lib/python3.7/site packages/aiohttp/web_middleware.py”,lne 119,在impl中
返回等待处理程序(请求)
文件“/root/.local/lib/python3.7/site packages/aiohttp_session/_init__.py”,ine 154,在工厂中
响应=等待处理程序(请求)
文件“web.py”,第75行,在寄存器中
uid,password=utils.bot\u common.new\u帐户(应用程序[“redis”])
TypeError:无法解压缩不可编辑的协同程序对象
以上错误指向web.py第75行:

@routes.get(“/register”)
异步def寄存器(请求):
如果没有注册:
返回web.Response(text=“Пччааааааааааааа107
uid,password=utils.bot\u common.new\u帐户(应用程序[“redis”])
返回web.Response(text=f“Аааааааа,ааааааааа1072
f“Пааааа-{password}”)
有关bot_commony.py注册bot的更多信息:

导入字符串
随机输入
def随机字符串(字符串长度=20):
字母=字符串。ascii_字母
返回“”。在范围(字符串长度)内为i连接(随机选择(字母))
异步def新账户(redis):
等待再贴现增量(“uids”)
uid=等待redis.get(“uid”)
管道=redis.pipeline()
set(f“uid:{uid}:lvt”,0)
pipe.sadd(f“房间:{uid}”,“起居室”)
rpush(f“rooms:{uid}:livingroom”,“#livingroom”,1)
对于范围(1,6)内的i:
pipe.sadd(f“rooms:{uid}”,f“rooms{i}”)
rpush(f“rooms:{uid}:rooms{i}”,f“kerkааа{i}”,2)
等待管道。执行()
返回uid

新账户
返回一个协同程序,因此

TypeError: cannot unpack non-iterable coroutine object
需要等待(或包装在任务中)协同路由。要修复此特定的
类型错误
,您需要将代码更新为

uid, password = await untold.bot_common.new_account(app["redis"])
一旦您进行了此更改,我怀疑您将得到一个新的
TypeError

TypeError: cannot unpack non-iterable int object
这是因为
new\u account
返回一个值:
uid
。基于wait redis.incr(“uids”),它看起来像是一个整数,而不是一个两个字符的字符串或包含两个值的容器。您需要将
register
中的行更改为

uid = await untold.bot_common.new_account(app["redis"])
或者您需要更改
new\u account
以返回多个值

return uid, "some password"

如何修复此错误?如果不向我们显示您的任何代码,很难判断,但您可能需要在其中粘贴一个
wait
uid,password=wait untald.bot\u common.new\u帐户(app[“redis”])
我添加了bot\u common.py源代码您能检查它吗?