错误详情

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/xxx/.local/lib/python3.9/site-packages/torch/__init__.py", line 199, in <module>
    from torch._C import *  # noqa: F403
ImportError: libblas.so.3: cannot open shared object file: No such file or directory

解决方法

要解决 ImportError: libblas.so.3 错误,需确保系统已安装 BLAS 库。以下是分步解决方案:

  1. 安装 BLAS 库
    根据系统类型执行以下命令:

    • Ubuntu/Debian:

      sudo apt-get update
      sudo apt-get install libblas3 liblapack3
      # 或安装 OpenBLAS(推荐)
      sudo apt-get install libopenblas-base
      
    • CentOS/RHEL:

      sudo yum install blas-devel lapack-devel
      # 或安装 OpenBLAS
      sudo yum install openblas-devel
      
  2. 更新动态链接库缓存
    安装后运行以下命令确保系统识别新库:

    sudo ldconfig
    
  3. 验证库安装
    检查 libblas.so.3 是否存在:

    ldconfig -p | grep libblas.so.3
    

    若输出包含路径(如 /usr/lib/libblas.so.3),则安装成功。

  4. 处理多版本冲突(可选)
    如果已安装其他 BLAS 版本(如 OpenBLAS),可创建符号链接:

    # 示例:将 OpenBLAS 链接为 libblas.so.3
    sudo ln -s /usr/lib/libopenblas.so.0 /usr/lib/libblas.so.3
    sudo ldconfig
    
  5. 重新安装 PyTorch(可选)
    如果问题依旧,尝试重新安装 PyTorch,确保依赖正确:

    pip uninstall torch
    pip install torch --no-cache-dir  # 强制重新编译
    

原因解释:
PyTorch 依赖 BLAS 库进行矩阵运算,而 libblas.so.3 是其核心组件。系统未安装该库或版本不匹配会导致导入失败。通过安装系统包(如 libblas3 或 libopenblas)可解决依赖问题。

更多推荐