【问题标题】:How to get librosa.display and matplotlib working in jupyter notebook with anaconda 3.6如何让 librosa.display 和 matplotlib 在带有 anaconda 3.6 的 jupyter notebook 中工作
【发布时间】:2021-04-02 03:48:08
【问题描述】:

我正在尝试让 Librosa 使用 python。 最初我安装了 Python 2.7,我无法让 Librosa 使用 Python 2.7,所以我安装了 Anaconda(我以前从未使用过),以便我可以拥有一个单独的环境(允许我用 2.7 编写的旧程序继续工作)。我正在尝试使用以前从未使用过的 Jupyter 笔记本,在使用 Python 3.6 创建 Anaconda 环境后,我终于设法导入了 Librosa,但是我无法导入 librosa.display

当我用谷歌搜索“导入 Librosa.display”时,显然我需要先安装 matplotlib,但是导入 matplotlib 失败了,我不知道为什么。我认为它可能由于导入 PIL /pillow 而失败?但是我以前从未专门使用过该模块,或者在使用 matplotlib 时必须单独安装它,所以我不确定为什么需要它。 我尝试在我创建的 anaconda python3.6 环境中使用 PIP install 重新安装枕头,但它不起作用所以现在卡住了,只是想知道是否有人可以帮助我?

导入代码如下

import matplotlib 
import librosa 
import matplotlib.pyplot as plt 
import librosa.display

程序卡在“import matplotlib.pyplot as plt”上,我目前的错误信息如下(在重新安装枕头之前它不起作用,但信息不同):

C:\Users\sh\.conda\envs\signalprocess1\lib\site-packages\PIL\Image.py:130: RuntimeWarning: The _imaging extension was built for another version of Pillow or PIL:
Core version: 8.2.0
Pillow version: 8.1.2
  warnings.warn(str(v), RuntimeWarning)


C:\Users\sh\.conda\envs\signalprocess1\lib\site-packages\matplotlib\mathtext.py in <module>()
 25 
 26 import numpy as np
---> 27 from PIL import Image
 28 from pyparsing import (
 29     Combine, Empty, FollowedBy, Forward, Group, Literal, oneOf, OneOrMore,

C:\Users\sh\.conda\envs\signalprocess1\lib\site-packages\PIL\Image.py in <module>()
111     if __version__ != getattr(core, "PILLOW_VERSION", None):
112         raise ImportError(
--> 113             "The _imaging extension was built for another version of Pillow or PIL:\n"
114             f"Core version: {getattr(core, 'PILLOW_VERSION', None)}\n"
115             f"Pillow version: {__version__}"

ImportError: The _imaging extension was built for another version of Pillow or PIL:
Core version: 8.2.0
Pillow version: 8.1.2

任何帮助都会很棒。我不需要使用 Jupyter 如果 IDLE 可以通过 Python 3.6 与 Librosa 和 matplotlib 一起使用,我非常乐意使用 IDLE。我想做的就是让 Librosa 和 Matplotlib 工作,这样我就可以分析信号了!我想如果我再花几天时间,我最终会解决它,但在我进行信号分析之前,我一直在尝试让软件包工作,这非常烦人。

谢谢!! :)

【问题讨论】:

    标签: python matplotlib jupyter-notebook anaconda librosa


    【解决方案1】:

    我不知道我做错了什么..... 但是最后我让 librosa 在 Windows 10 (64) 上使用 anaconda python 3.8 和 jupyter 如下...

    已卸载 anaconda(可能不需要卸载 - 不确定)

    尽我所能卸载了jupyter(似乎仍然有一些与arcpy相关的残余)

    安装了python 3.8版本的miniconda

    创建了一个新的(单独的)Conda 环境,它也使用了 python 3.8

    这是通过打开 Conda 命令提示符然后键入......

    conda create --name signalpro38 python=3.8
    

    (注意signalpro38是我给新环境起的名字)

    通过键入以下内容激活新环境:

    conda activate signalpro38
    

    已安装:

    • matplotlib,
    • scipy,
    • 麻木,
    • numpy

    然后

    • jupyter

    进入新环境 (signalpro38) 通过输入

    conda install matplotlib 
    conda install scipy
    

    等等

    按照此处的说明将新的 anaconda 环境添加到 jupyter:

    https://medium.com/@nrk25693/how-to-add-your-conda-environment-to-your-jupyter-notebook-in-just-4-steps-abeab8b8d084

    打开 jupyter 并创建了一个新笔记本(确保选择新环境的名称 signalpro38)

    在新笔记本中输入代码,保存并运行它,以检查命令

    import matplotlib 
    

    import matplotlib.pyplot as plt 
    

    在 jupyter 中工作正常

    关闭jupyter,回到Conda命令提示符(我之前创建的signalpro38环境还是激活的) 然后使用

    安装 librosa
    pip install librosa 
    

    (请注意“conda install librosa”没有找到 librosa,但我想也有一种方法可以使用 conda 安装 librosa)

    再次打开jupyter和之前保存的notebook文件并添加

    import librosa
    import librosa.display
    

    现在一切似乎都运行良好! :)

    希望这对其他人有帮助!当我有一天需要再次执行此操作时,它很可能会对我有所帮助! :p

    【讨论】:

    • 哇,我完全忘记了我经历了这一切,我一定要回来再看一遍哈哈
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-05
    • 2018-02-25
    • 2018-07-31
    • 2019-01-31
    • 1970-01-01
    • 2018-06-23
    • 2018-02-21
    相关资源
    最近更新 更多