对示例程序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

相关推荐
Aurora-Borealis.5 分钟前
Day44 简单CNN
python
总有刁民想爱朕ha8 分钟前
Python YOLOv8 进阶教程
开发语言·python·yolo
葱明撅腚12 分钟前
shapely空间数据分析
python·pandas·gis·shapely
A懿轩A12 分钟前
【2026 最新】Python 与 PyCharm 详细下载安装教程 带图展示(Windows 版)
windows·python·pycharm
John Song13 分钟前
miniconda是否初始化?
linux·运维·服务器·python
花间相见18 分钟前
【AI开发】—— LangChain框架
人工智能·python·langchain
shengli72222 分钟前
Python Lambda(匿名函数):简洁之道
jvm·数据库·python
Clarice__29 分钟前
Anaconda安装、使用教程
windows·python·机器学习·conda·visual studio code
weixin_4454023035 分钟前
如何为开源Python项目做贡献?
jvm·数据库·python
一杯清茶52038 分钟前
Python中ttkbootstrap的介绍与基本使用
开发语言·python