sure_future在异步模块中不可用

哈里穆尔·阿里

我正在尝试从python asyncio任务和协程文档中运行此示例

import asyncio

@asyncio.coroutine
def slow_operation(future):
    yield from asyncio.sleep(1)
    future.set_result('Future is done!')

def got_result(future):
    print(future.result())
    loop.stop()

loop = asyncio.get_event_loop()
future = asyncio.Future()
asyncio.ensure_future(slow_operation(future))
future.add_done_callback(got_result)
try:
    loop.run_forever()
finally:
    loop.close()

但是,我收到此错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'ensure_future'

这行似乎让我感到悲伤:

asyncio.ensure_future(slow_operation(future))

我的python解释器是OSX Yosemite上的3.4.3,也是我上面链接到的文档的版本,我从中复制了该示例,因此,我应该得到这个错误。这是我的python解释器的终端抓取:

Python 3.4.3 (default, Feb 25 2015, 21:28:45) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.56)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

页面中未引用的其他示例asyncio.ensure_future似乎可行。

我尝试打开一个新的口译会话并ensure_future从中导入asyncio

from asyncio import ensure_future

我收到导入错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: cannot import name 'ensure_future'

我可以访问另一台运行安装了python 3.4.0的Ubuntu 14.04的计算机。我在那里尝试了相同的导入,但不幸的是遇到了相同的导入错误。

asyncio的api是否已更改,并且仅在文档示例中未得到反映,或者可能存在拼写错误,并且sure_function应该确实在文档中还有其他内容吗?

该示例对SO社区的其他成员有用(或无效)吗?

谢谢。

ivan_pozdeev

https://docs.python.org/3.4/library/asyncio-task.html#asyncio.ensure_future

asyncio.ensure_future(coro_or_future, *, loop=None)

安排协程对象的执行:在将来包装它。返回一个Task对象。

如果参数为Future,则直接返回。

3.4.4版的新功能。

关于“应归咎于谁? ”的问题。关于“该怎么办? ”:

asyncio.async(coro_or_future, *, loop=None)

不推荐使用的别名 ensure_future().

从3.4.4版开始不推荐使用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

jQuery($)在模块文件中不可用

来自分类Dev

auth在模块中不可用

来自分类Dev

模块“角度”不可用

来自分类Dev

角模块不可用

来自分类Dev

模块“ ngRaven”不可用

来自分类Dev

角度模块不可用

来自分类Dev

模块“ ngRaven”不可用

来自分类Dev

模块“ mainApp”不可用

来自分类Dev

模块“mdPickers”不可用

来自分类Dev

Emacs中的Elixir:UndefinedFunctionError:模块不可用

来自分类Dev

在单独的文件中引用时,Angular模块不可用

来自分类Dev

下拉模块在 ngx-bootstrap 中不可用

来自分类Dev

Angular 5 - 组件在延迟加载模块中不可用

来自分类Dev

模块“模板”不可用!在角度js?

来自分类Dev

模块“智能表”不可用

来自分类Dev

业力抱怨'模块不可用'

来自分类Dev

AngularJS错误:ngAnimate模块不可用

来自分类Dev

错误:[$ injector:nomod]模块不可用

来自分类Dev

父模块中的符号在导出的子模块中不可用

来自分类Dev

通过代码设置的env变量在node.js中的导入模块中不可用

来自分类Dev

Python中的子流程模块出现资源暂时不可用的错误

来自分类Dev

为什么我的某些文件在使用setuptools打包的python模块安装中不可用?

来自分类Dev

尽管已包含关注模块,但该模型在模型中仍不可用(NoMethodError)

来自分类Dev

是否可以模拟Python测试中模块的不可用性?

来自分类Dev

全局对象在自定义模块中不可用,即使传入并请求也是如此

来自分类Dev

Python中的子流程模块出现资源暂时不可用的错误

来自分类Dev

是否可以模拟Python测试中模块的不可用性?

来自分类Dev

为什么我已经定义了AngularJS中的“模块'myControllers'不可用”?

来自分类Dev

SQL Server不可用时,异步/等待未等待

Related 相关文章

热门标签

归档