You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker容器安装torchaudio后导入报错:找不到libtorch_cuda_cpp.so文件

问题描述

在EC2实例上直接执行pip3 install torchaudio可正常安装并使用torchaudio(版本2.2.1+cu121),但通过Dockerfile安装时出现报错。

Dockerfile相关命令:

RUN pip3 install --target=/opt/prod/lib/python3.8/site-packages torchaudio

进入容器后导入torchaudio报错信息:

>>> import torchaudio
/opt/prod/lib/python3.8/site-packages/torchaudio/_internal/module_utils.py:99: UserWarning: Failed to import soundfile. 'soundfile' backend is not available.
  warnings.warn("Failed to import soundfile. 'soundfile' backend is not available.")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/prod/lib/python3.8/site-packages/torchaudio/__init__.py", line 1, in <module>
    from torchaudio import (  # noqa: F401
  File "/opt/prod/lib/python3.8/site-packages/torchaudio/_extension.py", line 135, in <module>
    _init_extension()
  File "/opt/prod/lib/python3.8/site-packages/torchaudio/_extension.py", line 105, in _init_extension
    _load_lib("libtorchaudio")
  File "/opt/prod/lib/python3.8/site-packages/torchaudio/_extension.py", line 52, in _load_lib
    torch.ops.load_library(path)
  File "/opt/prod/lib/python3.8/site-packages/torch/_ops.py", line 852, in load_library
    ctypes.CDLL(path)
  File "/opt/prod/python3.8/lib/python3.8/ctypes/__init__.py", line 373, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: libtorch_cuda_cpp.so: cannot open shared object file: No such file or directory
解决方案

1. 消除soundfile缺失警告

在Dockerfile中补充安装soundfile依赖,可与torchaudio一起安装:

RUN pip3 install --target=/opt/prod/lib/python3.8/site-packages torchaudio soundfile

2. 解决libtorch_cuda_cpp.so缺失问题

该错误核心是指定--target路径安装时,CUDA相关动态库路径未被正确识别,或基础镜像缺少CUDA运行时环境,可通过以下两种方案解决:

方案一:使用PyTorch官方基础镜像

PyTorch官方镜像已预装好匹配版本的CUDA环境、torch及torchaudio依赖,避免路径适配问题:

# 选择对应CUDA12.1、Python3.8的PyTorch运行时镜像
FROM pytorch/pytorch:2.2.1-cuda12.1-cudnn8-runtime

# 安装torchaudio及soundfile到指定路径
RUN pip3 install --target=/opt/prod/lib/python3.8/site-packages torchaudio soundfile

方案二:自定义基础镜像补全环境

若需使用自定义基础镜像,需确保镜像包含CUDA运行时,并安装匹配版本的torch和torchaudio:

# 基于带CUDA12.1运行时的Ubuntu镜像
FROM nvidia/cuda:12.1.1-runtime-ubuntu20.04

# 安装Python3.8及pip
RUN apt-get update && apt-get install -y python3.8 python3-pip && ln -s /usr/bin/python3.8 /usr/bin/python3

# 安装对应CUDA版本的torch和torchaudio,指定PyTorch官方源
RUN pip3 install --target=/opt/prod/lib/python3.8/site-packages torch==2.2.1+cu121 torchaudio==2.2.1+cu121 soundfile -f https://download.pytorch.org/whl/cu121

# 添加自定义路径到Python环境变量,确保能找到安装的库
ENV PYTHONPATH="/opt/prod/lib/python3.8/site-packages:$PYTHONPATH"

3. 验证安装

启动容器后执行以下命令验证:

import torchaudio
print(torchaudio.__version__)
# 正常输出应为'2.2.1+cu121'且无报错

内容的提问来源于stack exchange,提问作者Fisher Coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 09:02:14