导入discord.py rewrite分支触发TypeError的问题求助
解决discord.py rewrite导入时触发的yarl TypeError问题
这个问题的核心是yarl库的新版本限制了URL类的继承,而你当前安装的aiohttp版本(discord.py rewrite的依赖)仍然在尝试继承yarl.URL,加上你的Python3.6版本已经不再被新库支持,导致了这个冲突。下面是具体的解决步骤:
1. 清理冲突的依赖包
首先卸载当前可能存在冲突的yarl、aiohttp和discord.py:
pip uninstall -y yarl aiohttp discord.py
2. 安装兼容版本的依赖
重新安装discord.py rewrite分支,并锁定兼容的yarl和aiohttp版本(这些版本支持Python3.6且不会触发继承限制):
pip install git+https://github.com/Rapptz/discord.py@rewrite yarl==1.5.1 aiohttp==3.7.4.post0
如果已经重新安装过discord.py,也可以单独安装兼容的依赖包:
pip install yarl==1.5.1 aiohttp==3.7.4.post0
3. 验证修复
打开Python交互式终端,输入以下命令测试是否解决问题:
import discord from discord.ext import commands
如果没有报错,说明问题已经修复。
额外建议
你的运行环境是Python3.6,这个版本已经停止官方维护,很多新的Python库(包括yarl、aiohttp)都不再对其提供支持,后续可能还会遇到更多依赖兼容问题。如果条件允许,建议将Raspberry Pi上的Python版本升级到3.8及以上,这样能更好地适配现代Python库,也能获得更稳定的运行体验。
内容的提问来源于stack exchange,提问作者aethyris
相关产品推荐
相关产品推荐

