【发布时间】:2017-11-22 21:11:34
【问题描述】:
我正在尝试编写使用Coroutine 类的代码,如typing documentation 中所述。
看起来它在python 3.5 中可用,但是当我输入要导入时,它会抛出一个ImportError:
In [1]: from typing import Coroutine
ImportError: 无法导入名称“协程”
然后,我尝试在 Python 3.6 中运行代码,它运行良好。
python 3.5没有这个课程吗?如果不是,为什么它出现在文档中(特别是 python 3.5)?我尝试使用python 3.5.2 运行它。
【问题讨论】:
-
我尝试在 python 3.5 中导入并且它工作正常。再次尝试检查您的 python 版本
-
@RajSubit 你用的是什么版本的python?
-
刚刚在 python 3.5.3 中尝试过
-
@YuvalPruss 您所指的文档适用于 3.5.3 版。 RajSubit 似乎已经验证了 3.5.3 的一切正常。如果您检查documentation for 3.5.2,您会发现
Coroutine没有在此处提及。因此,您的 Python 发行版版本与您引用的文档不匹配。 -
这是一个已知问题——因为
typing模块是自 3.5.0 以来标准库的一部分,您无法访问对typing的任何更改从那时起。有计划向 pypi 添加一个typing_extensions模块,该模块将包含这些缺失的定义(包括协程),这些定义将由类型检查器进行特殊处理,但 discussion seems to have fizzled out.也许你可以在那里发布一些东西来尝试恢复讨论?
标签: python python-3.x python-3.5 type-hinting typing