【问题标题】:Can't import soundfile python无法导入声音文件python
【发布时间】:2022-02-14 18:17:39
【问题描述】:

在 wither python3 或 python 上使用 import soundfile 时,我得到了:

Traceback(最近一次调用最后一次): 文件“”,第 1 行,在 文件“/home/erezsh/.local/lib/python3.6/site-packages/soundfile.py”,第 142 行,在 raise OSError('sndfile library not found') OSError: 找不到 sndfile 库

我发现this post 没有帮助,因为我使用的是soundfile 而不是pysoundfile,并且它提供的链接已损坏。

另外,here 我找不到解决方案,因为我使用pip install SoundFile 安装。

我在 Windows 上使用 Ubuntu shell。这有什么重要的吗?

我该如何解决这个问题?

【问题讨论】:

    标签: python


    【解决方案1】:

    您需要安装所需的库:

    在 Linux 上,您需要使用发行版的包管理器安装 libsndfile,例如 sudo apt-get install libsndfile1

    From PyPI

    【讨论】:

    • 当我的 PC 是 Windows 时,这个答案帮助我在基于 Linux 的 docker 中运行我的代码。谢谢。
    【解决方案2】:

    handras 答案(从 2019 年开始)现在(2020 年)不起作用,因此请通过 (as A.B.) 安装 libsndfile1

    sudo apt-get install libsndfile1-dev
    

    【讨论】:

    • @havakok 你注意到“-dev”了吗? handras 的回答给出了不同的包名。
    • 不,虽然我不明白为什么要添加现有答案?
    • @havakok。因为从 2019 年开始的 handras 答案现在正在 2020 年工作
    • 您能否将其添加到您的答案中,以便我更改投票(现已锁定)?
    【解决方案3】:

    如果您没有 sudo 权限,请尝试使用 conda 安装。

    它对我有用,而我继续通过 pip 安装遇到问题。

    conda install -c conda-forge librosa

    上述命令安装 librosa。您也许也可以为仅声音文件找到一个特定的。

    【讨论】:

      【解决方案4】:

      更新:需要先运行apt update,它起作用了。

      起初接受的答案对我不起作用。

      我在一个 docker 镜像中:

      apt-get install libsndfile1
      Reading package lists... Done
      Building dependency tree       
      Reading state information... Done
      E: Unable to locate package libsndfile1
      

      【讨论】:

      • Running apt update 也是我在 Deepnote 终端中的解决方案
      【解决方案5】:

      如果是 yum 包管理器用户首先安装依赖项

       sudo yum -y install libsndfile
      

      然后运行 ​​pip 安装

      pip install SoundFile
      pip install librosa
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-06-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多