TypeError:禁止从URL继承类 [英] TypeError: Inheritance a class from URL is forbidden
问题描述
尝试运行为Discord制造的机器人时,我遇到此错误。在下载某些模块后发生这种情况。有什么办法解决这个问题?
I run into this error when trying to run a bot I made for Discord. This occurred after downloading some modules. Is there any way to fix this?
Traceback (most recent call last):
File "C:\Users\Jeriel\Desktop\JerryBot\run.py", line 1, in <module>
import discord
File "C:\Users\Jeriel\AppData\Roaming\Python\Python36\site-packages\discord\__
init__.py", line 20, in <module>
from .client import Client, AppInfo
File "C:\Users\Jeriel\AppData\Roaming\Python\Python36\site-packages\discord\cl
ient.py", line 30, in <module>
from .guild import Guild
File "C:\Users\Jeriel\AppData\Roaming\Python\Python36\site-packages\discord\gu
ild.py", line 39, in <module>
from .channel import *
File "C:\Users\Jeriel\AppData\Roaming\Python\Python36\site-packages\discord\ch
annel.py", line 31, in <module>
from .webhook import Webhook
File "C:\Users\Jeriel\AppData\Roaming\Python\Python36\site-packages\discord\we
bhook.py", line 27, in <module>
import aiohttp
File "C:\Users\Jeriel\AppData\Roaming\Python\Python36\site-packages\aiohttp\__
init__.py", line 6, in <module>
from .client import * # noqa
File "C:\Users\Jeriel\AppData\Roaming\Python\Python36\site-packages\aiohttp\cl
ient.py", line 15, in <module>
from . import connector as connector_mod
File "C:\Users\Jeriel\AppData\Roaming\Python\Python36\site-packages\aiohttp\co
nnector.py", line 17, in <module>
from .client_proto import ResponseHandler
File "C:\Users\Jeriel\AppData\Roaming\Python\Python36\site-packages\aiohttp\cl
ient_proto.py", line 6, in <module>
from .http import HttpResponseParser, StreamWriter
File "C:\Users\Jeriel\AppData\Roaming\Python\Python36\site-packages\aiohttp\ht
tp.py", line 8, in <module>
from .http_parser import (HttpParser, HttpRequestParser, HttpResponseParser,
File "C:\Users\Jeriel\AppData\Roaming\Python\Python36\site-packages\aiohttp\ht
tp_parser.py", line 15, in <module>
from .http_writer import HttpVersion, HttpVersion10
File "C:\Users\Jeriel\AppData\Roaming\Python\Python36\site-packages\aiohttp\ht
tp_writer.py", line 304, in <module>
class URL(yarl.URL):
File "C:\Users\Jeriel\AppData\Roaming\Python\Python36\site-packages\yarl\__ini
t__.py", line 230, in __init_subclass__
"is forbidden".format(cls))
TypeError: Inheritance a class <class 'aiohttp.http_writer.URL'> from URL is for
bidden
推荐答案
Discord。 py rewrite分支最近在其requirements.txt和aiohttp支持方面存在一些问题。您需要手动安装较低版本的yarl以支持discord.py所需的aiohttp库。
Discord.py rewrite branch has some problems recently with its requirements.txt and aiohttp support. You need to manually install a lower version of yarl to support discord.py's required aiohttp library.
您需要运行以下命令:
pip install "yarl<1.2"
更新
discord.py的新版本重写解决了此问题,您不再需要遵循上述解决方案。正确的操作是从GitHub重新下载discord.py rewrite并升级软件包。
UPDATE
The new versions of discord.py rewrite fixed this problem, you no longer need to do follow the aforementioned solution. The correct action to take is to re-download discord.py rewrite from GitHub and upgrade the packages.
这篇关于TypeError:禁止从URL继承类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!