2011-02-09 52 views
3

我需要爲研究項目安裝Python模塊audiolab,並且當我設法安裝它並獲取要在Python shell中導入的模塊時,它會在調用時返回一個錯誤模塊中最基本的功能之一,wavread()。Python模塊audiolab在調用函數時返回錯誤

我主要使用Python2.7.1,雖然我嘗試回溯併爲Python2.6.6安裝audiolab,但只有在導入並調用wavread()函數後才能找到相同的錯誤消息。

我的操作系統是帶有intel處理器的Mac OS X 10.5.8。

通常這是怎麼一回事呢:

import numpy        
import scipy       
import scikits.audiolab as audio       
x, fs, nbits = audio.wavread('test.wav')       

回溯(最近通話最後一個):

File "<pyshell#3>", line 1, in <module>       
    x, fs, nbits = audio.wavread('test.wav')       
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scikits.audiolab-0.11.0-py2.7-macosx-10.3-       fat.egg/scikits/audiolab/pysndfile/matapi.py", line 91, in basic_reader       
    hdl = Sndfile(filename, 'r')       
    File "_sndfile.pyx", line 488, in scikits.audiolab.pysndfile._sndfile.Sndfile.__init__ (scikits/audiolab/pysndfile/_sndfile.c:4251)              
IOError: error while opening test.wav       
    ->error while opening file test.wav       
    -> System error : No such file or directory.       

我安裝了libsndfile庫使用(我相信audiofile的是一個簡單的包裝器)點子,似乎安裝很好,沒有錯誤。然後,我嘗試在終端中使用命令python setup.py install從tar.gz文件安裝audiolab。這是在文檔中指示的,找到here標題'build'

該文檔還談到在某些情況下需要做一個'site.cfg'文件,這是從我在一些谷歌搜索後看到的,只有確實適用於Windows用戶,但我不確定這一點。

任何你可以解決我的問題的燈將非常感謝!

回答

4

audiolab文檔有點缺乏,但wavread()需要一個輸入文件。在你的代碼中,那個輸入是test.wav。如果它不存在於工作目錄中(通常是python腳本的位置),則需要提供文件的完整路徑。

+0

感謝您的快速回答,這實際上解決了我的問題!出於某種原因,我只是假定該軟件包會將測試文檔放在適當的文件夾中,將它們作爲輸入讀取,但事實並非如此。 另外,我應該補充說,在運行任何程序之前,當前的工作目錄是我的已安裝模塊的其餘部分找到的audiolab文件夾。但是,運行程序後,工作目錄會移動,因此無法再以交互模式訪問模塊目錄中的文件。以防將來有人遇到這個問題...... – 2011-02-10 20:26:13

相關問題