好的,所以我想用Python做一些基本的信号处理,并找到了这个名为scikits.audiolab
的伟大库。
在任何地方都找不到PPA。哦,好吧。我想我可以在我的Ubuntu Oneiric服务器上安装它
sudo aptitude install libsndfile-dev
然后
sudo easy_install scikits.audiolab
然而,这失败了
error: sndfile (http://www.mega-nerd.com/libsndfile/) library not found.
Directories to search for the libraries can be specified in the
site.cfg file, in section [sndfile].
世界贸易基金会?好的,查询了libsndfile1-dev
文件列表:
japsu@helios ~ $ apt-file list libsndfile1-dev
libsndfile1-dev: /usr/include/sndfile.h
libsndfile1-dev: /usr/include/sndfile.hh
libsndfile1-dev: /usr/lib/x86_64-linux-gnu/libsndfile.a
libsndfile1-dev: /usr/lib/x86_64-linux-gnu/libsndfile.la
libsndfile1-dev: /usr/lib/x86_64-linux-gnu/libsndfile.so
libsndfile1-dev: /usr/lib/x86_64-linux-gnu/pkgconfig/sndfile.pc
[...]
奇怪,图书馆进入了非标准的图书馆目录?愚蠢的包装工。
哦,好吧。下载了scikits.audiolab
的源代码,编写了如下site.cfg
:
[sndfile]
include_dirs = /usr/include
library_dirs = /usr/lib/x86_64-linux-gnu/
sndfile_libs = sndfile
现在,python setup.py build
和sudo setup.py install
已成功完成。
接下来,启动一个Python shell,尝试from scikits.audiolab import sndfile
:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "scikits/audiolab/__init__.py", line 25, in <module>
from pysndfile import formatinfo, sndfile
File "scikits/audiolab/pysndfile/__init__.py", line 1, in <module>
from _sndfile import Sndfile, Format, available_file_formats, \
ImportError: No module named _sndfile
但是:
>> sys.path
['',
'/usr/bin',
'/usr/lib/pymodules/python2.7',
'/usr/local/lib/python2.7/dist-packages/scikits.audiolab-0.11.0-py2.7-linux-x86_64.egg',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-linux2',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages/IPython/Extensions',
u'/home/japsu/.ipython']
以及在/usr/local/lib/python2.7/dist-packages/scikits.audiolab-0.11.0-py2.7-linux-x86_64.egg/scikits/audiolab/pysndfile/_sndfile.so
发现的_sndfile.so
。
所以,我的问题是
_sndfile.so
?scikits.audiolab
?你是怎么做到的?
有人建议我检查一下。就这么做了
有趣!还引用了一些文件格式库,这些库可能是我尚未安装的。
是不是
sudo aptitude install flac vorbis-tools
然后瞧!我可能可以忽略关于目前缺少ALSA支持的警告,因为它可能用于本地录制和播放-无论如何这是一个服务器。
如果缺少
libFLAC
、libvorbis
和libvorbisenc
触发了scikits.audiolab
的生成脚本中的生成时失败,那就容易多了。。。毕竟,最后的错误消息没有提到这些库。编辑:我刚刚意识到情况并非如此,因为pysndfile似乎是捆绑在一起的。。。我不应该一大早就回答问题;)
答:Sndfile是一个c库,您很可能需要为它安装python包装器:http://code.google.com/p/libsndfile-python/
如果你不想得到关于alsa头的警告,只需要安装lib。
sudo apt get安装libasound2 dev
这对我很有用。。
相关问题 更多 >
编程相关推荐