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

相关推荐
蓝桉80216 分钟前
图片爬取案例
开发语言·数据库·python
wang_yb25 分钟前
『Python底层原理』--Python整数为什么可以无限大
python·databook
敲上瘾32 分钟前
基础dp——动态规划
java·数据结构·c++·python·算法·线性回归·动态规划
阑梦清川1 小时前
Jupyter里面的manim编程学习
python·jupyter·manim
Dongwoo Jeong1 小时前
类型系统下的语言分类与类型系统基础
java·笔记·python·lisp·fortran·type
enyp802 小时前
*PyCharm 安装教程
ide·python·pycharm
哥是黑大帅2 小时前
Docker基于Ollama本地部署大语言模型
python·docker·语言模型
代码的乐趣2 小时前
支持selenium的chrome driver更新到133.0.6943.126
chrome·python·selenium
Maybe_95272 小时前
python使用httpx_sse调用sse流式接口对响应格式为application/json的错误信息的处理
python·sse·httpx
小白学大数据2 小时前
Selenium库详解:Python实现模拟登录与反爬限制的进阶指南
python·selenium·测试工具