无法在Windows上安装pyaudio?如何解决“错误:需要Microsoft Visual C++ 14.0。”?

89

我有一台Windows 10电脑,想要安装pyaudio并与由Chatterbot驱动的聊天机器人一起使用。

我尝试了两种不同的方法来安装pyaudio。

第一种方法是在命令提示符上执行以下操作:

python -m pip install PyAudio

这是结果:

   C:\Users\Waaberi>python -m pip install PyAudio
Collecting PyAudio
  Using cached https://files.pythonhosted.org/packages/ab/42/b4f04721c5c5bfc196ce156b3c768998ef8c0ae3654ed29ea5020c749a6b/PyAudio-0.2.11.tar.gz
Installing collected packages: PyAudio
  Running setup.py install for PyAudio ... error
    Complete output from command C:\Users\Waaberi\AppData\Local\Programs\Python\Python37-32\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\Waaberi\\AppData\\Local\\Temp\\pip-install-e5le61j0\\PyAudio\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\Waaberi\AppData\Local\Temp\pip-record-adj3zivl\install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build\lib.win32-3.7
    copying src\pyaudio.py -> build\lib.win32-3.7
    running build_ext
    building '_portaudio' extension
    error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools

    ----------------------------------------
Command "C:\Users\Waaberi\AppData\Local\Programs\Python\Python37-32\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\Waaberi\\AppData\\Local\\Temp\\pip-install-e5le61j0\\PyAudio\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\Waaberi\AppData\Local\Temp\pip-record-adj3zivl\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\Waaberi\AppData\Local\Temp\pip-install-e5le61j0\PyAudio\
第二种方法是输入以下命令:
python pip install python-pyaudio

它什么也不做。


4
你读过第一个命令的错误信息了吗,特别是其中写着“需要 Microsoft Visual C++ 14.0”这部分? - jwodder
我非常确定你也需要安装PortAudio - abarnert
如何安装PortAudio? - Waaberi Ibrahim
安装VC++库很烦人,因为我已经安装了更高版本,例如“Microsoft Visual C++ 2015-2022 Redistributable(x86)”。我不想先卸载更高的版本。 - Lei Yang
关于这个问题,我尝试使用Python 3.10.11进行pip install pyaudio,并且它成功地从缓存的wheel中安装了(我之前在某个地方尝试过?),但是我似乎无法在VSCode中导入pyaudio。有人知道这个库叫什么吗? - icedwater
安装的具体库与所描述的问题无关;这个错误在许多尝试安装中都很常见,并且有一个共同的原因——被标记为重复。 - undefined
18个回答

185

Agalin的回答已经很好了,我只是想以逐步说明的方式为像我这样的新手解释一下:

  • 通过python--version找到您的Python版本,例如我的版本是3.7.3
  • 检查您的Python是64位还是32位的最简单方法就是在终端中打开它:

  • 这里 找到适合的 .whl 文件,例如我的是 PyAudio‑0.2.11‑cp37‑cp37m‑win_amd64.whl 并下载它。
  • 进入下载文件所在的文件夹,例如 cd C:\Users\foobar\Downloads
  • pip安装.whl文件,例如我的情况如下:
pip install PyAudio-0.2.11-cp37-cp37m-win_amd64.whl

3
你好 Foad, 我按照你的步骤进入了那个文件夹并运行了以下命令: C:\Users\harnish.shah\Downloads>pip3 install PyAudio-0.2.11-cp38-cp38-win_amd64.whl 但是出现了以下错误: ERROR: PyAudio-0.2.11-cp38-cp38-win_amd64.whl is not a supported wheel on this platform. 警告:你正在使用 pip 版本 19.2.3,然而版本 20.0.1 已经发布。 你应该考虑通过 'python -m pip install --upgrade pip' 命令进行升级。 即使我尝试升级 pip,也无法安装。请问你能帮忙解决吗? - Harnish Shah
1
@HarnishShah 我认为这与pip upgrade无关。我认为你要么在设备上没有管理员权限,要么你没有正确执行前两个步骤。 - Foad S. Farimani
2
当我将文件克隆到项目文件夹中并运行pip3 install时,也在pycharm上工作。 - JVal aka SolidSnake
我在Windows上无法安装pyaudio?如何解决“错误:需要Microsoft Visual C++ 14.0。”? - Smart Manoj
2
@HanishShalah 你需要将轮子与你的平台匹配。你尝试的文件是针对Python 3.8 64位版本的。按照答案中所述检查你的Python版本,并使用相应的.whl文件再次尝试。 - BoarGules
1
确认在Python 3.9 Windows 10上可以运行。 - The Grindfather

160

首先以管理员身份运行您的IDE或CMD,然后运行以下命令:

pip install pipwin
pipwin install pyaudio

2
由于某种原因,我遇到了握手错误。所以我使用了Agalin的答案。仍然点赞了这个回答。 - bomben
3
是的,这应该是被接受的答案。我看到了多个StackOverflow帖子都有相同的答案,但没有一个提到需要以管理员身份运行终端。非常感谢。 - kevin godfrey
2
非常感谢,我找了两个小时才看到你的答案。浪费了很多时间在搜索上。你真是我的救命恩人。再次感谢。 - AlixaProDev
2
这是最简单的方法!! - hovedguy
2
为什么寻找只有两行代码的完美答案总是需要至少2个小时? - Mudit Bhatia
显示剩余4条评论

35

在Windows系统上,Python 3.7没有可用的预编译包(wheel)(Python 2.7和3.4到3.6版本有)。因此,您需要在电脑上准备构建环境才能使用该软件包。更简单的方法是找到适用于3.7版本的wheel,因为某些软件包在Windows上构建非常困难。

加州大学(University of California)的Christoph Gohlke为几乎所有现代Python版本(包括最新的PyAudio)托管了大多数流行软件包的Windows wheels。您可以在这里找到它:https://www.lfd.uci.edu/~gohlke/pythonlibs/(下载可能会很慢)。下载后,只需键入pip install <downloaded file here>

python -m pip installpip install没有区别,只要您使用默认安装设置和单个Python安装。实际上,python pip尝试运行当前目录中的文件pip

编辑。请参见pipwin注释以了解使用Gohlke先生的库的自动化方式。请注意,我自己没有使用过它,并且不确定是否可以选择不同的软件包版本,例如vanilla和mkl版本的numpy


我无法在Windows上安装pyaudio?如何解决“错误:需要Microsoft Visual C++ 14.0。”? - Smart Manoj

17

使用Conda替代pip。它完美地工作。

conda install PyAudio

请注意,(Ana)conda有许可协议。因此,根据您的情况,这可能不是一个选择。 - Bengt

10

9

由于某些原因,pip无法正常工作, 相反,您可以尝试先安装“pipwin”,如果您还没有它 打开命令提示符并粘贴以下内容:

pip install pipwin

然后使用以下命令安装PyAudio:

pipwin install pyaudio

这应该可以运行。但如果你不想使用pipwin,只需安装它,然后通过以下方式卸载即可:

pip uninstall pipwin

5

问题在于 pyaudio 没有适用于 Python 3.7 版本的 wheels,尝试使用一些较低的版本,例如 3.6,然后安装 pyaudio

这样就可以正常工作了。


4

由于Python 3.7版本不支持Pyaudio,所以您应该安装Python 3.6版本。
第一步:根据您的Python版本和计算机配置,在您新安装的Python文件夹中下载.whl文件。对于我来说,它是Python 3.6和64位机器。从这里下载文件(https://www.lfd.uci.edu/~gohlke/pythonlibs/)。 第二步:运行cmd并键入“ pip install 在此处输入您下载的文件名”。


我在Windows上无法安装pyaudio?如何解决“错误:需要Microsoft Visual C++ 14.0。”? - Smart Manoj

4

如果您已经安装了Anaconda,那么您只需要使用以下命令:conda install PyAudio

为了执行此命令,您必须在Anaconda中设置PYTHONPATH环境变量。


回答问题时,您可以包含代码示例。 - Bosco
为什么没有编辑 https://dev59.com/JlQK5IYBdhLWcg3wMNIV#62323213? - Smart Manoj

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接