gpt4 book ai didi

python - 在运行 Snow Leopard 的 Mac 上构建 PortAudio 和 PyAudio(架构问题)

转载 作者:太空狗 更新时间:2023-10-30 02:35:26 25 4
gpt4 key购买 nike

我想告诉您我的尝试,然后我非常欢迎您就如何正确设置 PortAudio 和 PyAudio 提供任何意见!

我尝试从 their website 安装稳定版和 svn 版的 PortAudio适用于运行 Snow Leopard 的 Core 2 Duo MacBook Pro。稳定版有一个 sizeof 错误 can be fixed(?) ,但是每天的 svn 版本可以通过 ./configure && make && make install 安装得很好(所以这就是我正在使用的)。测试已正确编译,我可以获得二进制文件以生成输出/可以读取麦克风输入。

好的,那么 PyAudio 就有麻烦了。从 source 安装我收到有关找不到库的错误消息:

mwoods 13 pyaudio-0.2.3$ python setup.py build
running build
running build_py
running build_ext
building '_portaudio' extension
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch ppc -arch x86_64 -pipe -DMACOSX=1 -I/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -c _portaudiomodule.c -o build/temp.macosx-10.6-universal-2.6/_portaudiomodule.o -fno-strict-aliasing
_portaudiomodule.c:35:25: error: pa_mac_core.h: No such file or directory
_portaudiomodule.c:679: error: expected specifier-qualifier-list before ‘PaMacCoreStreamInfo’
_portaudiomodule.c: In function ‘_pyAudio_MacOSX_hostApiSpecificStreamInfo_cleanup’:
_portaudiomodule.c:690: error: ‘_pyAudio_Mac_HASSI’ has no member named ‘paMacCoreStreamInfo’
_portaudiomodule.c:691: error: ‘_pyAudio_Mac_HASSI’ has no member named ‘paMacCoreStreamInfo’
_portaudiomodule.c:692: error: ‘_pyAudio_Mac_HASSI’ has no member named ‘paMacCoreStreamInfo’
_portaudiomodule.c:695: error: ‘_pyAudio_Mac_HASSI’ has no member named ‘channelMap’
_portaudiomodule.c:696: error: ‘_pyAudio_Mac_HASSI’ has no member named ‘channelMap’
_portaudiomodule.c:699: error: ‘_pyAudio_Mac_HASSI’ has no member named ‘flags’

... another 100 lines of this ...

_portaudiomodule.c:2471: error: ‘paMacCoreMinimizeCPUButPlayNice’ undeclared (first use in this function)
_portaudiomodule.c:2473: error: ‘paMacCoreMinimizeCPU’ undeclared (first use in this function)
lipo: can't open input file: /var/folders/Qc/Qcl516fqHAWupTUV9BE9rU+++TI/-Tmp-//cc7BqpBc.out (No such file or directory)
error: command 'gcc-4.2' failed with exit status 1

我可以从 their .dmg installer 安装 PyAudio ,但它针对 python2.5。如果我将/Library/Python/2.5/site-packages/的所有相关内容复制到/Library/Python/2.6/site-packages/(这包括 PyAudio-0.2.3-py2.5.egg-info, _portaudio .so, pyaudio.py, pyaudio.pyc, and pyaudio.pyo)然后我的python2.6就可以识别了。

In [1]: import pyaudio
Please build and install the PortAudio Python bindings first.
------------------------------------------------------------
Traceback (most recent call last):
File "<ipython console>", line 1, in <module>
File "/Library/Python/2.6/site-packages/pyaudio.py", line 103, in <module>
sys.exit(-1)
SystemExit: -1

Type %exit or %quit to exit IPython (%Exit or %Quit do so unconditionally).

In [2]:

所以发生这种情况是因为 _portaudio 无法导入。如果我尝试直接导入它:

In [2]: import _portaudio
------------------------------------------------------------
Traceback (most recent call last):
File "<ipython console>", line 1, in <module>
ImportError: /Library/Python/2.6/site-packages/_portaudio.so: no appropriate 64-bit architecture (see "man python" for running in 32-bit mode)

好的,所以如果我export VERSIONER_PYTHON_PREFER_32_BIT=yes 然后再次运行 python(好吧,我想是 ipython),我们可以看到它有效但会产生后果:

In [1]: import pyaudio

In [2]: pyaudio
Out[2]: <module 'pyaudio' from '/Library/Python/2.6/site-packages/pyaudio.pyc'>

In [3]: import pylab
------------------------------------------------------------
Traceback (most recent call last):
File "<ipython console>", line 1, in <module>
File "/Library/Python/2.6/site-packages/matplotlib-1.0.svn_r8037-py2.6-macosx-10.6-universal.egg/pylab.py", line 1, in <module>
from matplotlib.pylab import *
File "/Library/Python/2.6/site-packages/matplotlib-1.0.svn_r8037-py2.6-macosx-10.6-universal.egg/matplotlib/__init__.py", line 129, in <module>
from rcsetup import defaultParams, validate_backend, validate_toolbar
File "/Library/Python/2.6/site-packages/matplotlib-1.0.svn_r8037-py2.6-macosx-10.6-universal.egg/matplotlib/rcsetup.py", line 19, in <module>
from matplotlib.colors import is_color_like
File "/Library/Python/2.6/site-packages/matplotlib-1.0.svn_r8037-py2.6-macosx-10.6-universal.egg/matplotlib/colors.py", line 52, in <module>
import numpy as np
File "/Library/Python/2.6/site-packages/numpy-1.4.0.dev7542_20091216-py2.6-macosx-10.6-universal.egg/numpy/__init__.py", line 130, in <module>
import add_newdocs
File "/Library/Python/2.6/site-packages/numpy-1.4.0.dev7542_20091216-py2.6-macosx-10.6-universal.egg/numpy/add_newdocs.py", line 9, in <module>
from lib import add_newdoc
File "/Library/Python/2.6/site-packages/numpy-1.4.0.dev7542_20091216-py2.6-macosx-10.6-universal.egg/numpy/lib/__init__.py", line 4, in <module>
from type_check import *
File "/Library/Python/2.6/site-packages/numpy-1.4.0.dev7542_20091216-py2.6-macosx-10.6-universal.egg/numpy/lib/type_check.py", line 8, in <module>
import numpy.core.numeric as _nx
File "/Library/Python/2.6/site-packages/numpy-1.4.0.dev7542_20091216-py2.6-macosx-10.6-universal.egg/numpy/core/__init__.py", line 5, in <module>
import multiarray
ImportError: dlopen(/Library/Python/2.6/site-packages/numpy-1.4.0.dev7542_20091216-py2.6-macosx-10.6-universal.egg/numpy/core/multiarray.so, 2): no suitable image found. Did find:
/Library/Python/2.6/site-packages/numpy-1.4.0.dev7542_20091216-py2.6-macosx-10.6-universal.egg/numpy/core/multiarray.so: mach-o, but wrong architecture

我们可以假设 pylab 之前在工作!我花了一段时间才走到这一步,但有人可以帮助我完成这个安装或从成功的 Snow Leopard 安装中提供建议吗?抱歉发了这么长的帖子,但我因只提供部分信息而臭名昭著,我正在努力解决这个问题!

最佳答案

感谢 PyAudio 的作者对我的查询的快速响应,我现在有了一个安装良好的副本。他的指示在下面发布,供遇到类似问题的任何人使用。

Hi Michael,

Try this:

1) Make sure your directory layout is like:

./foo/pyaudio/portaudio-v19/ ./foo/pyaudio/

2) Build portaudio-v19 from sources, as you have done

3) cd ./foo/pyaudio/ 4) python setup.py build --static-link

(See the comments at the top of setup.py for more info on --static-link)

If all goes well, inside ./foo/pyaudio/build/lib.macosx-10.6-.../, you'll find the built (fat) objects comprising i386, ppc, and x86_64 binaries. You can also do a "python setup.py install" if you like.

Best, Hubert

关于python - 在运行 Snow Leopard 的 Mac 上构建 PortAudio 和 PyAudio(架构问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2893193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com