Linux aarch64环境下pd.read_csv报错及librosa安装问题求助
解决方案
一、解决pd.read_csv非法指令崩溃问题
非法指令错误大概率是混合使用conda与pip安装的包存在架构不兼容(aarch64环境下部分pip包可能包含x86指令集),或核心依赖版本冲突。可按以下步骤排查:
- 卸载pip安装的冲突包
先移除当前环境中通过pip安装的audioread和librosa,验证是否为这两个包引发的问题:
pip uninstall -y audioread librosa
之后重新测试pd.read_csv,确认是否恢复正常。
- 重建环境,分离conda与pip安装范围
创建新环境,用conda安装所有核心数据处理依赖(确保适配aarch64架构),仅用pip安装音频相关包:
# 创建新环境,指定与之前无问题环境一致的Python版本 conda create -n audio_work python=3.9 pandas numpy scipy conda activate audio_work # 用pip安装音频类依赖 pip install audioread librosa
核心依赖由conda提供(针对aarch64编译),仅音频相关包用pip安装,降低指令集不兼容风险。
- 定位崩溃根源(可选)
若上述方法无效,用gdb调试找到具体崩溃的库:
gdb python
在gdb交互界面执行:
run -c "import pandas; pandas.read_csv('test.csv')" # 崩溃后输入以下命令查看调用栈 bt
根据回溯信息,将对应库替换为conda安装的版本。
二、正确安装librosa的可行方案
aarch64架构下conda官方源依赖包不全,优先使用conda-forge源:
- conda-forge完整安装
conda-forge提供更全面的aarch64包支持,配置后直接安装:
# 添加conda-forge源并设置优先级 conda config --add channels conda-forge conda config --set channel_priority strict # 创建环境并安装librosa conda create -n librosa_env python=3.9 librosa conda activate librosa_env
此方法会自动处理所有依赖(包括audioread),无需手动干预。
- conda+pip混合安装(备选)
若conda-forge仍缺少audioread包,先安装librosa的核心依赖,再用pip补全:
conda create -n librosa_env python=3.9 numpy scipy matplotlib soundfile conda activate librosa_env pip install audioread librosa
内容的提问来源于stack exchange,提问作者Susan
相关产品推荐
相关产品推荐

