- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
好的,所以我想用 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']
和 _sndfile.so
位于 /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
?scikits.audiolab
?你是怎么做到的?最佳答案
有人建议我检查 ldd _sndfile.so
。这样做并得到了
linux-vdso.so.1 => (0x00007fffd3dea000)
libsndfile.so.1 => /usr/lib/x86_64-linux-gnu/libsndfile.so.1 (0x00007f2bfbb5b000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f2bfb93e000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2bfb59e000)
libFLAC.so.8 => /usr/lib/x86_64-linux-gnu/libFLAC.so.8 (0x00007f2bfb354000)
libvorbisenc.so.2 => /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2 (0x00007f2bfae85000)
libvorbis.so.0 => /usr/lib/x86_64-linux-gnu/libvorbis.so.0 (0x00007f2bfac58000)
libogg.so.0 => /usr/lib/x86_64-linux-gnu/libogg.so.0 (0x00007f2bfaa51000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f2bfa7cd000)
有趣!还引用了一堆文件格式库,我可能没有安装。
是否 sudo aptitude install flac vorbis-tools
瞧!
In [1]: from scikits.audiolab import sndfile
/usr/local/lib/python2.7/dist-packages/scikits.audiolab-0.11.0-py2.7-linux-x86_6
4.egg/scikits/audiolab/soundio/play.py:48: UserWarning: Could not import alsa ba
ckend; most probably, you did not have alsa headers when building audiolab
warnings.warn("Could not import alsa backend; most probably, "
我现在可以忽略关于缺少 ALSA 支持的警告,因为它可能用于本地录制和播放 - 无论如何这是一个服务器。
如果缺少 libFLAC
、libvorbis
和 libvorbisenc
在构建 scikits.audiolab
的脚本...毕竟,最终的错误消息并未提及这些库。
关于python - Ubuntu Oneiric 上的 scikits.audiolab - ImportError : No module named _sndfile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8461055/
我在 Ubuntu/Oneiric 上运行最简单的程序时遇到问题: #include int main() { Glib::ustring s = "Test string"; } 使用生成
我正在尝试在 ubuntu oneiric 上编译 mysql 5.1.60。我不确定为什么它没有正确编译。我使用捆绑的 libedit/libreadline 得到这个错误。我尝试使用系统库,但我也
我正在编写一个简单的概念证明 C++ 应用程序(可在 https://github.com/paulspencerwilliams/CPlusPlusSocialPlayground 获得),使用 t
升级后出现以下错误。我无法弄清楚它有什么问题。据我所知,它应该可以工作。 $ make 2>&1 | head g++ -o prog -ansi -O2 -Wall -I/usr/include/b
我使用的是 Ubuntu Oneiric Ocelot,它在其 repos 中包含 Jetty 6.1.24 包。它工作得很好,但我在尝试为 SSL 配置它时遇到了问题。我已经更改了 jetty*.x
根据 Scipy 网站,在 Ubuntu 11.10 中,numpy 和 scipy 是预先打包的,所以我所做的是: apt-get install python2.7 apt-get install
我使用 make install 而不是 altinstall 安装了 python 2.7.5 之前是2.7.2+ 现在当我运行 python 时它会给出 ImportError: cannot i
好的,所以我想用 Python 进行一些基本的信号处理,并找到了这个名为 scikits.audiolab 的很棒的库。 在任何地方都找不到 PPA。那好吧。我想我可以简单地将它安装在我的 Ubunt
说到 Linux,我完全是菜鸟。如何从 Windows 7 机器将桌面或 Gui 远程连接到亚马逊 AWS 中的 Ubuntu Server Cloud Guest 11.10 (Oneiric Oc
我是一名优秀的程序员,十分优秀!