2017-09-12 157 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