2017-11-11 116 views
0

我试图使用pyAudioAnalysis库从mp3文件中提取功能。我遇到的问题是我无法让我的Jupyter Notebook找到eyed3,这对于图书馆来说很重要。这里是我的代码:Jupyter笔记本不识别Eyed3

from pyAudioAnalysis import audioBasicIO 
from pyAudioAnalysis import audioFeatureExtraction 
import matplotlib.pyplot as plt 
[Fs, x] = audioBasicIO.readAudioFile("/Users/Kyle/Downloads/sample.rickyxsan - Insane.mp3"); 
F = audioFeatureExtraction.stFeatureExtraction(x, Fs, 0.050*Fs, 0.025*Fs); 
plt.subplot(2,1,1); plt.plot(F[0,:]); plt.xlabel('Frame no'); plt.ylabel('ZCR'); 
plt.subplot(2,1,2); plt.plot(F[1,:]); plt.xlabel('Frame no'); plt.ylabel('Energy'); plt.show() 

当我跑,我得到这个错误:当我尝试 “命令PIP安装eyed3”

--------------------------------------------------------------------------- 
ImportError        Traceback (most recent call last) 
<ipython-input-6-d4b751ae9dc8> in <module>() 
     1 # GETTING FEATURES 
     2 
----> 3 from pyAudioAnalysis import audioBasicIO 
     4 from pyAudioAnalysis import audioFeatureExtraction 
     5 import matplotlib.pyplot as plt 

/Users/Kyle/Documents/School/Projects/SoundcloudProject/Tools/pyAudioAnalysis/audioBasicIO.py in <module>() 
----> 1 import os, glob, eyed3, ntpath, shutil, numpy 
     2 import scipy.io.wavfile as wavfile 
     3 import pydub 
     4 from pydub import AudioSegment 
     5 

ImportError: No module named eyed3 

,我得到这样的输出:

Requirement already satisfied: eyed3 in /anaconda/lib/python3.5/site-packages 
Requirement already satisfied: six in /anaconda/lib/python3.5/site-packages (from eyed3) 
Requirement already satisfied: python-magic in /anaconda/lib/python3.5/site-packages (from eyed3) 
Requirement already satisfied: pathlib in /anaconda/lib/python3.5/site-packages (from eyed3) 

而且当我尝试“brew install eyed3”时,我得到:

Warning: git-2.11.0 already installed, it's just not linked. 
Error: Git must be installed and in your PATH! 
Warning: eye-d3-0.7.8 already installed 

它确实看起来像eyed3已经安装,但我不知道如何让我的笔记本找到它。

+0

这是否帮助:https://stackoverflow.com/questions/32680081/importerror-after-successful-pip-installation/32680082#32680082 - 您的问题似乎是非常相似的。检查你的jupyer内核属于哪个python解释器很重要。 – cel

回答

0

cel是正确的,它看起来像安装你的库的解释器不同于jupyter正在使用的解释器。这是有道理的,因为你正在做sudo pip安装,而不是仅仅安装pip。我猜图书馆正在安装一个管理员可访问的pip链接版本,但不是你的本地帐户。

尝试使用以下之一:

python -m pip install eyed3 

pip install eyed3 --user 

它也可能是您的jupyter笔记本使用环境设置使用畅达。在这种情况下使用:

conda install eyed3 
+0

谢谢你的回应。当我尝试前两个时,我收到了一份“需求已满意”的巨大列表。当我尝试第三个我得到这个: '读取行包装的元数据........... PackageNotFoundError:在当前渠道缺失的软件包: - eyed3' 我不知道这是否是相关,但我正在Python 2.7中工作。实际上,我发现当我使用默认的python时,我可以导入eyed3,但在2.7中不能。 –