使用最新版PyCharm安装discord.py[voice]遇PyNaCl编译错误求助
解决PyCharm中安装discord.py[voice]时PyNaCl编译失败的问题
我碰到过好多次这个问题啦——PyNaCl安装失败本质是它需要编译环境,而PEP 517的报错说明pip没法直接处理源码编译的环节。下面分不同操作系统给你一步步解决:
Windows系统
- 首先安装Microsoft Visual C++ Build Tools:这是编译Python扩展包的核心依赖,直接从微软官网下载安装,勾选「Desktop development with C++」组件(包含MSVC编译器、Windows SDK等必需工具)。
- 安装完成后重启PyCharm,确保环境变量生效。
- 重新运行安装命令:
pip install -U discord.py[voice] - 如果还是报错,试试强制使用预编译的PyNaCl包:
pip install PyNaCl --only-binary :all:,这个命令会跳过源码编译,直接用现成的wheel包。
macOS系统
- 先安装Xcode命令行工具:在PyCharm的终端里运行
xcode-select --install,按照提示完成安装。 - 若未安装Homebrew,先安装它,然后运行
brew install libsodium(PyNaCl依赖这个库)。 - 最后重新执行:
pip install -U discord.py[voice]
Linux系统(以Ubuntu/Debian为例)
- 先安装编译依赖和libsodium:
sudo apt-get install build-essential libsodium-dev python3-dev - 如果你用的是CentOS/RHEL系列,替换为:
sudo yum install gcc gcc-c++ libsodium-devel python3-devel - 依赖安装完成后,再次运行:
pip install -U discord.py[voice]
通用前置优化(所有系统都可以先试试)
先升级pip、setuptools和wheel到最新版本,旧版本的工具可能对PEP 517支持不好:
pip install --upgrade pip setuptools wheel
升级完成后再尝试安装discord.py[voice],很多时候这一步就能解决问题。
内容的提问来源于stack exchange,提问作者Joel_1930




