Pyaudio, portaudio and mac 10.7.5

2019-03-30 16:51发布

I'm having trouble installing pyaudio correctly. I have a virtualenv set up for the project. I first tried to install portaudio:

sudo port install portaudio

which returns:

--->  Cleaning portaudio
--->  Scanning binaries for linking errors: 100.0%
--->  No broken files found.

I assume that means it ran fine. Then I tried:

pip install pyaudio

Which returns:

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
...

Is that first warning a problem? I'm a bit surprised it's saying no file or directory for portaudio.h. Do I have to do something special to enable my port audio macport installation?

Appreciate any help!

8条回答
We Are One
2楼-- · 2019-03-30 17:38

Following my comment above, this is similar to this answer, but since OP wasn't clear with it, I'm going to try again. (This is basically just a cut and paste from some notes I made to myself when I was doing this.)

  1. This is a build for 32-bit.
  2. Download pyaudio, and portaudio (I used 0.2.4, v19).
  3. cd portaudio
  4. make clean
  5. CC="gcc -arch i386" ./configure -enable-static
  6. make
  7. sudo make install (maybe not needed if you statically link to it).
  8. move portaudio into the PyAudio directory, that is:
    1. cd .. (out of portaudio)
    2. mv portaudio PyAudio/portaudio-v19 (note need the v19 here)
  9. cd into PyAudio and run:
    1. make sure you're in the virtual environment, ie, source bin/activate
    2. python setup.py build –static-link
    3. python setup.py install
查看更多
兄弟一词,经得起流年.
3楼-- · 2019-03-30 17:39

this will install portaudio which is required for pyaudio:

sudo port install portaudio

next, look for the appropriate pyaudio macport for your version of python

port search pyaudio

suppose you are using python27, install pyaudio as such:

sudo port install py27-pyaudio

References:

How do I install PyAudio in virtualenv on Mac OS X 10.7

查看更多
干净又极端
4楼-- · 2019-03-30 17:41

You can install portaudio with $ sudo port install portaudio

and you can install pyaduio with mac installer from http://people.csail.mit.edu/hubert/pyaudio/

查看更多
别忘想泡老子
5楼-- · 2019-03-30 17:41

Create a virtual env, activate it:

virtualenv env
env/bin/activate

Download PyAudio ( latest at the time ):

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/

Unzip portaudio inside PyAudio folder, rename it to portaudio-v19 and build it:

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 ../

Back to PyAudio directory:

export CFLAGS="-I `pwd`/portaudio-v19/include/ -L `pwd`/portaudio-v19/lib/.libs/"
python setup.py build --static-link
python setup.py install

Thats all!

查看更多
\"骚年 ilove
6楼-- · 2019-03-30 17:42
$ brew install portaudio
$ pip install pyaudio

Some missing libraries and such that portaudio provides. Works for Python 2.7 (not sure about other versions)

查看更多
smile是对你的礼貌
7楼-- · 2019-03-30 17:44

The crucial point is this command:

export CFLAGS="-I `pwd`/portaudio-v19/include/ -L `pwd`/portaudio-v19/lib/.libs/"

which avoids no such file error.

This solved my problem, thanks very much to @tuxdna.

查看更多
登录 后发表回答