通过pip install在ubuntu上安装pysox,无法解析sox.h

时间:2013-02-07 16:43:59

标签: python ubuntu pip sox

我正在尝试使用pip(easy_install抛出完全相同的错误)在Ubuntu 12.04.2 LTS上安装pysox包。

$ pip install pysox
[...]
building 'pysox.sox' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c pysox/sox.c -o build/temp.linux-x86_64-2.7/pysox/sox.o

pysox/sox.c:227:17: fatal error: sox.h: No such file or directory

我的系统已安装:

$ dpkg --list | grep sox
ii  libsox-fmt-all      14.3.2-3    All SoX format libraries
ii  libsox-fmt-alsa     14.3.2-3    SoX alsa format I/O library
ii  libsox-fmt-ao       14.3.2-3    SoX Libao format I/O library
ii  libsox-fmt-base     14.3.2-3    Minimal set of SoX format libraries
ii  libsox-fmt-ffmpeg   14.3.2-3    SoX ffmpeg format library
ii  libsox-fmt-mp3      14.3.2-3    SoX MP3 format library
ii  libsox-fmt-oss      14.3.2-3    SoX OSS format I/O library
ii  libsox-fmt-pulse    14.3.2-3    SoX PulseAudio format I/O library
ii  libsox1b            14.3.2-3    SoX library of audio effects and processing
ii  sox                 14.3.2-3    Swiss army knife of sound processing

以及libasound2-pluginslibasound2-python个包。我甚至拉了SoX源并将〜/ sox / src / sox.h添加到我的PATH,但都无济于事。确实,find找不到sox.h,即使我的二进制文件看起来都井井有条。 pysox源似乎也没有包含sox.h。

pysox offical page声明“特别是你的包含路径中需要sox.h,链接路径中需要libsox.so和libsox.a。”

但是除了从源代码编译所有内容之外,我不知道如何从二进制包中获取这些文件。是否无法使用普通的包管理器进行此安装,我是否需要编译,链接和安装?包括我自己的一切?

如何在Debian / Ubuntu上正确安装pysox?

2 个答案:

答案 0 :(得分:5)

好的,这是预料之中的:忘了安装SoX的开发包,即libsox-dev。起初对我来说并不明显,因为标准软件包是sox,而lib软件包都是以libsox-fmt开头的(而且这方面的文档很少)。

无论如何,这就是你在Debian机器上需要的所有内容,以便为pip / easy_install准备好适当的文件,以便为SoX正确管理你的模块:

sudo apt-get install libasound2-plugins libasound2-python libsox-fmt-all libsox-dev sox

答案 1 :(得分:2)

如果有帮助,我也会遇到同样的问题,但使用以下方法会出错:

sudo apt-get install libasound2-plugins libasound2-python libsox-fmt-all libsox-dev sox

我确实通过删除libasound请求使其工作了,该请求似乎不再可用。

这是对我有用的...我认为该过程是:

pip3 install sox

sudo apt-get install sox libsox-fmt-all 

sudo apt-get install sox libsox-dev 

pip3 install pysox

我只花了大约11个小时来解决这个问题。