
在python开发中,尤其是在windows环境下安装带有c扩展的库时,开发者经常会遇到“failed building wheel”的错误。当尝试安装discord.py时,如果其依赖库如aiohttp的子依赖frozenlist和multidict无法成功构建轮子(wheel),就会导致安装失败。这类问题通常源于两个主要原因:python版本不兼容,或者缺少必要的编译工具。
discord.py及其核心依赖对Python版本有特定的要求。安装discord.py==2.3.2时,其官方支持的Python版本为3.8、3.9和3.10。如果您的Python环境版本过新(例如Python 3.11或3.12),则很可能导致某些依赖库无法找到预编译的轮子文件,从而尝试在本地编译,进而引发构建失败。
如何检查您的Python版本:
打开终端或命令提示符,输入以下命令:
python --version # 或者在Windows上可能需要 py -3 --version
输出将显示当前环境中默认的Python版本,例如Python 3.12.0。
立即学习“Python免费学习笔记(深入)”;
解决方案:
如果您的Python版本不在discord.py 2.3.2支持的3.8、3.9、3.10范围内,建议您采取以下措施:
创建新的虚拟环境并指定兼容的Python版本: 这是最推荐的做法。虚拟环境可以隔离项目依赖,避免版本冲突。 在PyCharm中,您可以在创建新项目或配置解释器时,选择一个已安装的兼容Python版本,或通过PyCharm下载并配置一个。 如果手动创建虚拟环境,可以使用以下命令:
# 例如,使用Python 3.9创建虚拟环境 # 确保您系统上已安装Python 3.9 python3.9 -m venv my_discord_bot_env # 激活虚拟环境 # Windows .\my_discord_bot_env\Scripts\activate # macOS/Linux source my_discord_bot_env/bin/activate
激活虚拟环境后,再尝试安装discord.py。
降级或切换系统Python版本(不推荐作为首选): 如果您不使用虚拟环境,可能需要降级或切换系统默认的Python版本。但这可能会影响到其他依赖特定Python版本的项目,因此不建议直接修改系统Python。
当Python无法找到某个库的预编译轮子(wheel)文件时,它会尝试从源代码编译该库。对于许多用C或C++编写的Python扩展(如frozenlist和multidict),在Windows系统上进行编译需要Microsoft Visual C++编译器。当您看到类似error: Microsoft Visual C++ 14.0 or greater is required的错误信息时,就表明缺少了这些编译工具。
解决方案:
安装完成后,您不需要对PyCharm或Python环境进行额外配置,pip将能够自动检测到并使用这些新安装的编译工具。
在确认Python版本兼容并已安装Microsoft Visual C++ Build Tools后,您可以再次尝试安装discord.py。
# Windows .\my_discord_bot_env\Scripts\activate # macOS/Linux source my_discord_bot_env/bin/activate
pip install discord.py==2.3.2
或者,如果您想升级已安装的版本:
pip install discord.py --upgrade
此时,pip应该能够成功安装frozenlist和multidict,进而完成discord.py的安装。
python -m pip install --upgrade pip
discord.py安装过程中遇到的“Failed building wheel”错误,特别是涉及frozenlist和multidict的,通常可以通过解决Python版本兼容性问题和安装Microsoft Visual C++ Build Tools来解决。首先确保您的Python版本在discord.py的支持范围内(对于2.3.2版本是3.8、3.9、3.10),其次在Windows系统上安装必要的C++编译工具。遵循这些步骤,将有助于您顺利安装discord.py并开始您的Discord机器人开发之旅。
以上就是解决 discord.py 安装失败:轮子构建错误与Python兼容性指南的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号