在Jupyter notebook 上学习协程和任务后,
运行以下代码
import asyncio
async def main():
print('learn')
await asyncio.sleep(1)
print('Jupyter')
Run Code Online (Sandbox Code Playgroud)
但是,它在 Ipython 上正常工作
这是Jupyter 更高版本的已知问题。安装nest_asyncio作为解决方法。
> pip install nest_asyncio
Run Code Online (Sandbox Code Playgroud)
代码
import asyncio
import nest_asyncio
nest_asyncio.apply()
async def main():
print("Learn")
await asyncio.sleep(1)
print("Jupyter")
asyncio.run(main())
# 'Learn'
# 'Jupyter'
Run Code Online (Sandbox Code Playgroud)
TLDR ; 在笔记本中运行 asyncio 与 Tornado 5.0 在后台运行的现有事件循环冲突。第二种选择是降级notebook到依赖于旧版 Tornado 的版本。
| 归档时间: |
|
| 查看次数: |
912 次 |
| 最近记录: |