对示例程序spinner_asyncio.py进行修改使其能运行

学习《流畅的python》第18章 使用asyncio包处理并发,运行示例18-2 spinner_asyncio.py的时候,程序报错如下:

D:\fluentPy\chapter17>python spinner_asyncio.py

File "D:\fluentPy\chapter17\spinner_asyncio.py", line 30

spinner = asyncio.async(spin('thinking!'))

^^^^^

SyntaxError: invalid syntax

其实在PyCharm中已经报错了,因为我的环境python311不支持async函数了。在https://docs.python.org/上查到async函数已经被ensure_future函数替代了。

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

A deprecated alias to ensure_future().

Deprecated since version 3.4.4.

改过之后运行程序,还是报错:

D:\fluentPy\chapter17>python spinner_asyncio.py

Traceback (most recent call last):

File "D:\fluentPy\chapter17\spinner_asyncio.py", line 6, in <module>

@asyncio.coroutine

^^^^^^^^^^^^^^^^^

AttributeError: module 'asyncio' has no attribute 'coroutine'. Did you mean: 'coroutines'?

我把python降级到python 3.7.9,问题终于解决:

D:\fluentPy\chapter17>"c:\Program Files\Python37\python" spinner_asyncio.py

spinner object: <Task pending coro=<spin() running at spinner_asyncio.py:6>>

Answer: 42

相关推荐
搬砖的阿wei3 分钟前
从零开始学 Flask:构建你的第一个 Web 应用
前端·后端·python·flask
IT从业者张某某8 分钟前
Python数据可视化-第4章-图表样式的美化
开发语言·python·信息可视化
草巾冒小子14 分钟前
查看pip3 是否安装了Flask
后端·python·flask
开开心心就好1 小时前
便携免安装,畅享近 30 种 PDF 文档处理功能
java·服务器·python·eclipse·pdf·word·excel
凯强同学1 小时前
13届省赛python A组:10.数的拆分
python
Dontla2 小时前
Python Flask并发demo(http并发与锁)独占接口、monkey功能还不太确定
python·http·flask
海天一色y2 小时前
Pycharm(十一):字符串练习题
ide·python·pycharm
小白的高手之路2 小时前
常用的卷积神经网络及Pytorch示例实现
人工智能·pytorch·python·深度学习·神经网络·cnn
滴答滴答嗒嗒滴2 小时前
用 Python 实现机器学习小项目:从入门到实战
开发语言·python·机器学习
规划GIS会3 小时前
ima知识库第二弹,Python for ArcGIS Pro | 简简单单写个脚本工具
开发语言·python·arcgis