当前位置: 首页 > 面试题库 >

Python软件包安装问题:PyAudio,PortAudio

曾永新
2023-03-14
问题内容

我在安装PyAudio和portaudio时遇到问题。

当我python -m pip install pyaudio收到此错误时:

    src/_portaudiomodule.c(29): fatal error C1083: Cannot open include file: 'portaudio.h': No such file or directory
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.14.26428\\bin\\HostX86\\x86\\cl.exe' failed with exit status 2
    ----------------------------------------
Command ""C:\Users\This PC\AppData\Local\Programs\Python\Python37-32\python.exe" -u -c "import setuptools, tokenize;__file__='C:\\Users\\THISPC~1\\AppData\\Local\\Temp\\pip-install-3ock7jqh\\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\THISPC~1\AppData\Local\Temp\pip-record-14pe9p6y\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\THISPC~1\AppData\Local\Temp\pip-install-3ock7jqh\pyaudio\

因此,在查找了该错误之后,我读到我需要安装portaudio。所以我做到了,python -m pip install portaudio并得到了这个错误:

Collecting portaudio
Could not find a version that satisfies the requirement portaudio (from versions: )
No matching distribution found for portaudio

我不知道现在该从哪里去。


问题答案:

portaudio不是Python软件包,而是一个完全独立于Python的C库,因此您无法通过进行安装pip

请参阅PortAudio网站以获得有关获取并将其安装在平台上的官方方法的详细信息。

在Windows上获取AFAIK的官方方法是下载源代码,然后按照教程中的说明自行编译。您可能想要使用与Python
C扩展相同的编译器进行构建,尽管我不确定是否需要这样做。

或者,如果您在Windows上使用像Chocolatey这样的第三方程序包管理器,则很有可能安装PortAudio。

或者,如果您将Anaconda或Miniconda用于Python,则conda包管理器会知道如何安装Python包所依赖的非Python包,包括portaudio

最后,似乎有很多人为Windows提供了非官方的预编译PortAudio二进制文件。如果您搜索“二进制的portaudio
Windows”或“预编译的portaudio Windows”,则会发现其中的一些。我不知道这些测试是如何经过良好测试,最新的。

如果您使用的是Anaconda / Miniconda,则应该使用conda install pyaudio而不是pip install pyaudio首先使用。您实际上应该只pipconda或中不可用的软件包使用conda-forge

如果尚未设置conda-forge,则可能首先要这样做:

conda config --add channels conda-forge

然后,这应该是您所需要的:

conda install pyaudio

pip仅假设您已portaudio正确安装的软件包不同,该conda软件包将自动安装portaudio为的依赖项pyaudio,或者告诉您为什么不能这样做。



 类似资料:
  • 问题内容: 我正在尝试编写一个程序来记录计算机麦克风中的信息,然后将其保存到文件中。似乎是执行此操作的较好软件包之一,并且它们甚至都具有Windows 7(Python 2.7)的二进制文件。我下载了可执行文件并运行它来设置PyAudio,但是当我尝试将PyAudio导入python脚本时,出现了一个错误: 如果我看pyaudio.py,它失败的代码是: 另外,如果相关的话,如果我转到pyaudi

  • 问题内容: 尝试使用安装软件包时显示错误,而其他软件包正在正常安装。我正在使用python 3.7。为什么会发生此错误? 问题答案: 在运行python 3.6时,此方法有效,但在python 3.7中则无效。 PyAudio仅支持python 3.6: pip将获取并安装PyAudio滚轮(预包装的二进制文件)。当前,有一些轮子与Python 2.7、3.4、3.5和3.6的官方发行版兼容。 解

  • 问题内容: 我在安装Brew时遇到了一些麻烦。所以我做了以下工作: 卸载的自制软件: $ rm -rf / usr / local / Cellar /usr/local/.git && brew清理 重新安装自制软件: $ ruby​​ -e“ $(curl -fsSkL raw.github.com/mxcl/homebrew/go/install)” $ brew更新 已经是最新的。 $酿造

  • 我想使用Python的SpeechRecognition库,但是当我试图运行一个使用麦克风的程序(我打算这样做)时,我得到了错误 “需要Pyaudio 0.2.11或更高版本(找到版本0.2.9)” 所以我做了一些挖掘,找到了如何使用apt-get安装它。不幸的是,我运行的是Fedora26,所以我必须使用yum来安装我的软件包,当我寻找使用yum安装PyAudio的方法时,我只能找到版本0.2.

  • 问题内容: 从pypi下载python软件包及其依赖项以便在另一台计算机上脱机安装的最佳方法是什么?有什么简单的方法可以通过pip或easy_install来做到这一点?我正在尝试在未连接到Internet的FreeBSD盒上安装请求库。 问题答案: 如果该软件包位于PYPI上,则将其及其依赖项下载到某个本地目录。例如 某些软件包可能必须手工存档到外观相似的tarball中。当我想要更新(不稳定)

  • 问题内容: 我正在通过该库在我的Python脚本中使用,并且我需要一个不在R的默认安装中的软件包。如何安装它? 将无法正常工作。 在Python上: 从R: 问题答案: 这个怎么样