Pyaudio,portaudio和Mac 10.7.5(Pyaudio, portaudio an

2019-08-08 04:39发布

我在安装pyaudio正确的麻烦。 我有一个virtualenv中设置的项目。 我第一次尝试安装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安装?

感谢任何帮助!

Answer 1:

$ brew install portaudio
$ pip install pyaudio

一些缺少库并使得portaudio提供。 适用于Python 2.7版(不知道其他版本)



Answer 2:

如何如下:

$ 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"
$

这至少对我的作品。



Answer 3:

按照上面我的意见,这是类似于此的答案,但由于OP是不是说清楚,我会再次尝试。 (这基本上是一个由一些笔记,我对自己做我这样做时,剪切和粘贴。)

  1. 这是32位的构建。
  2. 下载pyaudio和portaudio(我使用0.2.4,V19)。
  3. CD portaudio
  4. 使清洁
  5. CC = “gcc的-arch i386” 下的./configure -enable静电
  6. 使
  7. 须藤使安装(也许并不需要,如果你静态链接到它)。
  8. 移动portaudio到PyAudio目录,即:
    1. CD ..(出portaudio的)
    2. MV portaudio PyAudio / portaudio-V19(注意这里需要的V19)
  9. cd到PyAudio和运行:
    1. 请确保您在虚拟环境中的时候,即, source bin/activate
    2. 蟒蛇的setup.py建立-static链接
    3. 蟒蛇的setup.py安装


Answer 4:

您可以安装portaudio用$ sudo的港口安装portaudio

你可以从安装Mac安装pyaduio http://people.csail.mit.edu/hubert/pyaudio/



Answer 5:

这将安装这是需要pyaudio portaudio:

sudo port install portaudio

接下来,寻找合适的pyaudio macport您的Python版本

port search pyaudio

假设你正在使用python27,安装pyaudio这样:

sudo port install py27-pyaudio

参考文献:

如何在virtualenv中在Mac OS X 10.7安装PyAudio



Answer 6:

创建虚拟包膜,激活它:

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/

解压portaudio PyAudio文件夹中,重命名为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

就这样!



Answer 7:

问题的关键是下面的命令:

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

这避免了没有这样的文件错误。

这解决了我的问题,非常感谢@tuxdna。



Answer 8:

问题是, pyaudio安装脚本( setup.py )假设所有必要的标头是在/usr/include 。 这就是为什么它与自制作品,并没有MacPorts的,通常(和清洁)把下的一切/opt/local

PyAudio维护者一直依靠自制,并且没有选项组合现在允许拼写出在哪里可以找到头。 在写这篇文章的时候, setup.py 源代码,支持Mac OS X的只是默认值

要使用MacPorts的工作,很繁琐,但足以创建编译两个链接:

port install portaudio
sudo ln -s /opt/local/include/portaudio.h /usr/include
sudo ln -s /opt/local/include/pa_mac_core.h /usr/include
pip install --user pyaudio # Should now compile fine.

这些链接可能应该被删除,一旦安装就结束了。

经测试在Mac OS X 10.10与使用MacPorts安装了Python 2.7。



文章来源: Pyaudio, portaudio and mac 10.7.5