Pyaudio、portaudio和Mac 10.7.5
我在安装pyaudio的时候遇到了一些麻烦。我为这个项目设置了一个虚拟环境。首先,我尝试安装portaudio:
sudo port install portaudio
结果是:
---> Cleaning portaudio
---> Scanning binaries for linking errors: 100.0%
---> No broken files found.
我想这意味着它运行得不错。然后我又试了一下:
pip install pyaudio
结果是:
Downloading/unpacking pyaudio
Running setup.py egg_info for package pyaudio
warning: no files found matching '*.c' under directory 'test'
Installing collected packages: pyaudio
Running setup.py install for pyaudio
building '_portaudio' extension
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -isysroot /Developer/SDKs/MacOSX10.6.sdk -arch i386 -arch x86_64 -g -O2 -DNDEBUG -g -O3 -DMACOSX=1 -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c src/_portaudiomodule.c -o build/temp.macosx-10.6-intel-2.7/src/_portaudiomodule.o -fno-strict-aliasing
src/_portaudiomodule.c:29:23: error: portaudio.h: No such file or directory
src/_portaudiomodule.c:33:25: error: pa_mac_core.h: No such file or directory
...
第一个警告是个问题吗?我有点惊讶它说找不到portaudio.h这个文件或目录。我需要做些什么特别的事情来启用我在macport上安装的port audio吗?
谢谢大家的帮助!
10 个回答
2
创建一个虚拟环境,并激活它:
virtualenv env
env/bin/activate
下载 PyAudio(当时最新的版本):
wget -c http://people.csail.mit.edu/hubert/pyaudio/packages/pyaudio-0.2.8.tar.gz
tar zxf pyaudio-0.2.8.tar.gz
cd PyAudio-0.2.8/
在 PyAudio 文件夹内解压 portaudio,把它重命名为 portaudio-v19,然后进行构建:
wget -c http://www.portaudio.com/archives/pa_stable_v19_20140130.tgz
tar zxf pa_stable_v19_20140130.tgz
mv portaudio portaudio-v19
cd portaudio-v19
./configure
make
cd ../
返回到 PyAudio 目录:
export CFLAGS="-I `pwd`/portaudio-v19/include/ -L `pwd`/portaudio-v19/lib/.libs/"
python setup.py build --static-link
python setup.py install
就这些了!
4
下面这个怎么样:
$ sudo port install py27-pyaudio
Warning: port definitions are more than two weeks old, consider using selfupdate
---> Computing dependencies for py27-pyaudio
---> Fetching archive for py27-pyaudio
---> Attempting to fetch py27-pyaudio-0.2.7_0.darwin_12.x86_64.tbz2 from http://lil.fr.packages.macports.org/py27-pyaudio
---> Attempting to fetch py27-pyaudio-0.2.7_0.darwin_12.x86_64.tbz2.rmd160 from http://lil.fr.packages.macports.org/py27-pyaudio
---> Installing py27-pyaudio @0.2.7_0
---> Activating py27-pyaudio @0.2.7_0
---> Cleaning py27-pyaudio
---> Updating database of binaries: 100.0%
---> Scanning binaries for linking errors: 100.0%
---> No broken files found.
$ python -c "import pyaudio"
$
这个对我来说是有效的。
6
$ brew install portaudio
$ pip install pyaudio
有一些缺失的库和其他东西是portaudio提供的。这个在Python 2.7上可以用(其他版本的情况不太确定)。