You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

导入asyncio模块报错:原因排查与解决方法

Python 3.6 导入asyncio 报错:AttributeError: module 'asyncio.tasks' has no attribute 'all'

我在终端测试asyncio时碰到了这个棘手的问题,操作过程如下:

$ python3.6
Python 3.6.2 (v3.6.2:5fd33b5926, Jul 16 2017, 20:11:06) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import asyncio

执行import asyncio后立刻抛出了错误,回溯信息如下:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/asyncio/__init__.py", line 42, in <module>
    tasks.__all__ +
AttributeError: module 'asyncio.tasks' has no attribute '__all__'

我在Python 3.5环境下执行完全相同的操作是正常的,所以怀疑是不是Python 3.6的asyncio库文件损坏了?另外我用-v参数运行Python后,导入asyncio的输出内容较多,这里就不贴出全部内容了。


报错原因

你的怀疑是对的,这个问题几乎可以确定是asyncio.tasks模块文件损坏或被篡改导致的。在Python 3.6的asyncio源码中,__init__.py的第42行需要引用tasks.__all__来合并模块对外暴露的成员列表——正常情况下,asyncio/tasks.py文件里是明确定义了__all__变量的,用来声明模块的公共接口。如果这个变量消失,要么是文件被误编辑删除了相关代码,要么是文件本身损坏导致内容缺失。

当然也不排除是当初安装Python 3.6时,asyncio模块的文件没有被完整部署的可能。

解决办法

给你几个按优先级排序的解决步骤:

  1. 手动修复tasks.py文件

    • 找到Python 3.6安装路径下的asyncio/tasks.py,路径就是报错里的/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/asyncio/tasks.py
    • 打开文件后,检查开头部分是否有类似这样的代码块:
      __all__ = [
          'Task',
          'create_task',
          'sleep',
          'wait',
          'wait_for',
          'gather',
          'shield',
          'ensure_future',
          'as_completed',
      ]
      
      如果没有,就手动添加这段代码(或者直接从Python官方的3.6分支源码中复制完整的tasks.py内容替换本地文件)
    • 保存文件后重启Python 3.6,尝试导入asyncio验证是否恢复正常。
  2. 重新安装Python 3.6.2

    • 如果手动修复无效,或者你不确定如何修改源码,最稳妥的办法就是卸载当前的Python 3.6,然后从官方渠道下载对应版本的安装包重新安装。安装过程中确保网络稳定,不要中断安装流程。
  3. 验证安装完整性

    • 重新安装完成后,可以执行python3.6 -m ensurepip --upgrade确保pip及相关依赖完整,再用python3.6 -c "import asyncio; print('Import successful!')"快速验证asyncio是否能正常导入。

内容的提问来源于stack exchange,提问作者AAM111

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 07:04:10