2017-11-11 115 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中不能。 –