首页 文章

Python包安装问题:PyAudio,PortAudio

提问于
浏览
1

首先,我是python开发的新手 . 我看了很多教程,现在我正在努力开始 . 我在安装PyAudio和portaudio时遇到问题 .

这是错误 .

当我执行以下命令 python -m pip install pyaudio 时,出现以下错误 .

src / _portaudiomodule.c(29):致命错误C1083:无法打开包含文件:'portaudio.h':没有此类文件或目录错误:命令'C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Community \ VC \ Tools \ MSVC \ 14.14.26428 \ bin \ HostX86 \ x86 \ cl.exe'以退出状态2失败------------------------ ----------------命令“”C:\ Users \此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-external-managed --compile“在C:\ Users \ THISPC~中失败,错误代码为1 1个\应用程序数据\本地的\ Temp \ PIP安装-3ock7jqh \ pyaudio \

所以在查看错误后,我读到我需要安装portaudio . 所以我做了以下命令 . python -m pip install portaudio 我收到以下错误 .

收集portaudio无法找到满足要求的版本portaudio(来自版本:)没有找到匹配的portaudio发行版

我现在不知道从哪里开始 . 老实说,这让python看起来真的很烦人 . 任何帮助表示赞赏 .

2 回答

  • 1

    portaudio 不是Python包,它's a C library that'完全独立于Python,所以你不能通过 pip 安装它 .

    有关获取它并在您的平台上安装它的官方方式的详细信息,请参阅PortAudio网站 .

    AFAIK,在Windows上获取它的官方方法是下载源代码,然后按照Tutorial中的说明自行编译 . 您可能希望使用用于Python C扩展的相同编译器来构建它,尽管我需要'm not sure if that' .

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

    或者,如果您使用Anaconda或Miniconda作为Python, conda 包管理器知道如何安装Python包所依赖的非Python包,including portaudio .

    最后,似乎有很多人为Windows提供非官方的预编译PortAudio二进制文件 . 如果您搜索“portaudio windows binary”或“portaudio windows pre-compiled”,您将找到其中的一些 . 我不知道这些是如何经过充分测试,最新等等 .


    如果你使用的是Anaconda / Miniconda,你应该首先使用 conda install pyaudio 而不是 pip install pyaudio . 对于 condaconda-forge 上不可用的软件包,您实际上只应使用 pip .

    如果你还没有设置 conda-forge ,你可能想先这样做:

    conda config --add channels conda-forge
    

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

    conda install pyaudio
    

    pip 软件包(假设您已正确安装 portaudio )不同, conda 软件包将自动安装 portaudio 作为 pyaudio 的依赖项,或者告诉您它为什么不能 .

  • 3

    Python 3.7不支持PyAudio 0.2.11,并尝试在错误 C1083: Cannot open include file: 'portaudio.h' 中安装结果 .

    您必须将Python 3.6与PyAudio 0.2.11一起使用 .

    http://people.csail.mit.edu/hubert/pyaudio/

相关问题