2017-09-12 68 views
1

如果我尝试使用Pyaudio 2.11安装失败

python setup.py install 

我得到一个错误安装PyAudio 2.11(只复制错误部分,而不是整个输出):

src/_portaudiomodule.c(29) : fatal error C1083: Cannot open include file: 'portaudio.h': No such file or directory 
error: command 
'C:\\Users\\lukec\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\cl.exe' failed with exit status 2 

但是 - 如果我使用pip安装pyaudio,它工作正常。为何差异?

回答

1

pip正在从预建的车轮文件下载和安装。如果您查看PyPI page for pyaudio,则为Windows版本的Python提供最新版本.whl文件。这些Wheel文件已经包含预构建的二进制文件和C绑定。

像你这样做安装python setup.py需要Python代码的完整构建及其绑定到C库的端口音频。您需要获取Port Audio的开发文件和头文件才能让您的构建成功。

+0

但是,pypy页面也可以非'.whl'格式作为'.tar.gz'使用。我使用该[链接]提取(https://pypi.python.org/packages/ab/42/b4f04721c5c5bfc196ce156b3c768998ef8c0ae3654ed29ea5020c749a6b/PyAudio-0.2.11.tar.gz#md5=7e4c88139284033f67b4336c74eda3b8) – TobyTobyo

+0

@TobyTobyo the'。 tar.gz是为那些没有'.whl'文件的平台提供的,就像几乎所有的Linux发行版,FreeBSD,Mac OSX等一样。如果你只是做了一个'pip install pyaudio',它会默认选择Wheel文件,如果它能找到它的话。如果您尝试使用'pip install pyaudio --no-binary:all:'来安装PyAudio,您可能会看到您遇到的相同问题,因为它会尝试从源代码构建它。 – birryree