python - 如何使用 anaconda 3.6 在 jupyter notebook 中获取 librosa.display 和 matplotlib
问题描述
我正在尝试让 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 工作,这样我就可以分析信号了!我想如果我再花几天时间,我最终会解决它,但是在我进行信号分析之前,花这么多时间试图让软件包工作是非常烦人的。
谢谢!!:)
解决方案
我不确定我做错了什么.....但是最后我让librosa在Windows 10(64)上使用anaconda python 3.8和jupyter,如下所示......
已卸载的 anaconda(可能没有必要卸载它 - 不确定)
尽我所能卸载了jupyter(似乎仍然是与arcpy相关的一些残余)
安装了 miniconda python 3.8 版本
创建了一个新的(单独的)Conda 环境,它也使用了 python 3.8
这是通过打开 Conda 命令提示符然后键入......
conda create --name signalpro38 python=3.8
(注意 signalpro38 是我给新环境起的名字)
通过键入以下内容激活新环境:
conda activate signalpro38
安装:
- matplotlib,
- scipy,
- 麻木,
- 麻木的
然后
- 朱庇特
通过键入进入新环境(signalpro38)
conda install matplotlib
conda install scipy
等等
按照此处的说明,将新的 anaconda 环境添加到 jupyter:
打开jupyter并创建了一个新笔记本(确保选择新环境的名称signalpro38)
在新笔记本中键入代码,保存并运行它,以检查命令
import matplotlib
和
import matplotlib.pyplot as plt
在 jupyter 工作正常
关闭 jupyter 并返回到 Conda 命令提示符(我创建的 signalpro38 环境仍处于激活状态)然后使用安装 librosa
pip install librosa
(请注意,“conda install librosa”没有找到 librosa,但我想也有一种方法可以使用 conda 安装 librosa)
再次打开 jupyter 和之前保存的笔记本文件并添加
import librosa
import librosa.display
现在一切似乎都运行良好!:)
希望这对其他人有帮助!当我有一天需要再次执行此操作时,它很可能会对我有所帮助!:p
推荐阅读
- php - 为什么我的会话在 php 活动期间登录后 1440 秒后过期
- python - 如何在一个句子中找到甚至与python中的那些单词相反的单词
- ios - 如何在 swift 中使用属性字符串实现以下设计?
- android - Flutter:设置 newLatLngBounds 标记点击事件后第一次点击不起作用
- flutter - Socket.io 连接只工作一次
- azure - 如何从 Azure databricks 获取 python 笔记本路径?
- java - onProgressUpdate 不适用于 AsyncTask?
- node.js - 访问 Angular 路由时从节点接收 404
- javascript - 使用 proxyquire 时,Sinon 存根不工作
- apache-kafka - Docker 容器中的 Kafka Connect:未添加连接器