【发布时间】:2020-04-13 00:26:34
【问题描述】:
我正在尝试制作一个不和谐的机器人,但我收到以下奇怪的错误,它无法导入 asyncio.Transport,尽管我可以在此代码之外正常使用它。
代码:
import asyncio
import os
import discord
from dotenv import load_dotenv
错误信息:
Traceback (most recent call last):
File "dis.py", line 1, in <module>
import asyncio
File "C:\Users\A.Gawish\AppData\Local\Programs\Python\Python36\lib\asyncio\__init__.py", line 21, in <module>
from .base_events import *
File "C:\Users\A.Gawish\AppData\Local\Programs\Python\Python36\lib\asyncio\base_events.py", line 19, in <module>
import inspect
File "C:\Users\A.Gawish\AppData\Local\Programs\Python\Python36\lib\inspect.py", line 36, in <module>
import dis
File "C:\Users\A.Gawish\dis.py", line 3, in <module>
import discord
File "C:\Users\A.Gawish\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\__init__.py", line 23, in <module>
from .client import Client
File "C:\Users\A.Gawish\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\client.py", line 34, in <module>
import aiohttp
File "C:\Users\A.Gawish\AppData\Local\Programs\Python\Python36\lib\site-packages\aiohttp\__init__.py", line 6, in <module>
from .client import (
File "C:\Users\A.Gawish\AppData\Local\Programs\Python\Python36\lib\site-packages\aiohttp\client.py", line 32, in <module>
from . import hdrs, http, payload
File "C:\Users\A.Gawish\AppData\Local\Programs\Python\Python36\lib\site-packages\aiohttp\http.py", line 7, in <module>
from .http_parser import (
File "C:\Users\A.Gawish\AppData\Local\Programs\Python\Python36\lib\site-packages\aiohttp\http_parser.py", line 14, in <module>
from .base_protocol import BaseProtocol
File "C:\Users\A.Gawish\AppData\Local\Programs\Python\Python36\lib\site-packages\aiohttp\base_protocol.py", line 4, in <module>
from .tcp_helpers import tcp_nodelay
File "C:\Users\A.Gawish\AppData\Local\Programs\Python\Python36\lib\site-packages\aiohttp\tcp_helpers.py", line 20, in <module>
def tcp_keepalive(transport: asyncio.Transport) -> None:
AttributeError: module 'asyncio' has no attribute 'Transport'
【问题讨论】:
-
我认为
asyncio.Transport直到 3.7 才引入,根据asyncio文档,它直到 3.7 才出现 -
它存在于库中,我检查了,我也可以在这个程序范围之外使用它。
-
错误出现在程序的第一行,因此其余代码无关紧要。你说你可以“在这个程序的范围之外使用它”是什么意思?您如何启动该程序,以及您如何成功使用它?
-
我使用命令:
python dis.py运行它,但是当我在命令 shell 中启动 python 并且我这样做时:import asyncio然后无论如何使用asyncio.Transport它工作正常。 -
你解决了这个问题吗?
标签: python python-3.x discord python-asyncio