加载nendo_plugin_musicgen插件时出现libX11.6.dylib镜像错误
解决方案
核心问题分析
错误分两部分:
- pydub无法定位ffmpeg(警告)
av库依赖的libX11.6.dylib加载失败,原因是架构不兼容(M系列Mac的arm64与x86_64冲突)或库文件损坏
分步解决
1. 修复libX11依赖(针对M系列Mac)
通过brew安装原生arm64版本的libX11,替换av包自带的有问题的库:
brew install libx11
2. 重新安装适配架构的av库
先卸载现有av包:
pip uninstall av -y
再重新安装,强制使用系统(brew)提供的ffmpeg/libX11库,避免预编译包的架构问题:
pip install av --no-binary av
3. 确保ffmpeg被系统正确识别
检查brew安装的ffmpeg路径:
which ffmpeg
将输出的路径(比如/opt/homebrew/bin/ffmpeg)添加到环境变量,确保pydub能找到:
export PATH="/opt/homebrew/bin:$PATH"
也可以在代码里直接指定pydub的ffmpeg路径:
from pydub import utils utils.ffmpeg = "/opt/homebrew/bin/ffmpeg" # 替换成你的实际路径
4. 验证Python版本架构(M系列Mac必做)
检查当前Python的架构:
python -c "import platform; print(platform.machine())"
如果输出是x86_64,说明你在使用Rosetta模拟的Python,需要重新安装arm64版本的Python 3.8.12:
# 下载适配M系列的patch并安装 pyenv install 3.8.12 --patch <(curl -s https://github.com/pyenv/pyenv/issues/1768#issuecomment-738749988) # 设置本地版本 pyenv local 3.8.12 # 重新安装所有依赖 pip install -r requirements.txt
5. 重装nendo及插件
最后彻底重装nendo和musicgen插件:
pip uninstall nendo nendo-plugin-musicgen -y pip install nendo nendo-plugin-musicgen
内容的提问来源于stack exchange,提问作者Adel Abdalla
相关产品推荐
相关产品推荐

