ubuntu OSError:[Errno-9996] Invalid input device(Ubuntu安装pyaudio踩的坑)

遇到问题及经历:

1月5日,6日安装pyaudio成功,但是运行程序的时候会报错ubuntu OSError:[Errno-9996] Invalid input device,表示找不到输入设备。
google查找错误原因是没有查找到,csdn上也没有相关的帖子和错误。
(吐槽:搜的还全是四五年前的帖子,都是僵尸贴,都没个有用的,呸!)
ubuntu OSError:[Errno-9996] Invalid input device(Ubuntu安装pyaudio踩的坑)

检查ubuntu虚拟机功能,录音和播放功能都是正常的。开始怀疑是配置的问题。
转过头看一下我安装配置的步骤,我的pyaudio安装配置步骤是按照我5号写的博客(点击查看原文)上面的方法安装的。

按照方法一:

sudo apt-get install python-pyaudio python3-pyaudio 

安装以后,pyaudio的确是安装上去了,安装是pyaudio0.2.8的版本。在运行demo程序的时候会报错:
Please build and install the PortAudio Python bindings first

按照方法二:
安装好portaudio19-dev和python-dev后再pip3 install pyaudio
会自动安装最新版的pyaudio·版本是0.2.11。
运行程序的时候就会报错
ubuntu OSError:[Errno-9996] Invalid input device

两种方虽然都把pyaudio安装成功了,但是在运行程序的时候都是会报错的。方法一报错的Please build and install the PortAudio Python bindings first。我后面追加安装了portaudio19-dev还是会报错,然后我把pyaudio0.2.8的包卸载后,重新pip自动安装的就是0.2.11的版本,在0.2.11环境下就是报错ubuntu OSError:[Errno-9996] Invalid input device。按这个来看就是我在安装portaudio19-dev和python-dev的时候不对。根据官方文档的说法就是这两个东西是必不可少的。
ubuntu OSError:[Errno-9996] Invalid input device(Ubuntu安装pyaudio踩的坑)

解决过程:

回顾我之前安装这两玩意儿的步骤,安装portaudio19-dev的时候是下载tgz的压缩包,解压后在进行配置安装,步骤是没有问题。也显示success install portaudio了。安装python-dev的时候是使用apt安装的。
最有可能出问题就是安装portaudio19-dev到的时候,手动安装。虽然检查好几遍,所有步骤都是没问题的,也不用自行修改什么配置文件。但难说就是那一处有问题了。那就重头再来一下吧。幸好之前有拍过快照,直接转到上一次快照。
网上所有的帖子和官网都是说下载压缩包,解压进入portaudio目录,./configuremakemake install
ubuntu OSError:[Errno-9996] Invalid input device(Ubuntu安装pyaudio踩的坑)

再来一次我偏不,我就要用apt来!!!!
自动他不香咩,手动受罪干嘛????

sudo apt-get install portaudio19-dev

ubuntu OSError:[Errno-9996] Invalid input device(Ubuntu安装pyaudio踩的坑)
portaudio19-dev安装好就是安装python-dev了

sudo apt-get install python3.6-dev

ubuntu OSError:[Errno-9996] Invalid input device(Ubuntu安装pyaudio踩的坑)
如果会出现连接超时,下载不了的问题。后面加上点东西。

sudo apt-get install python3.6-dev --fix-missing

ubuntu OSError:[Errno-9996] Invalid input device(Ubuntu安装pyaudio踩的坑)
下载安装成功。
接下来就是pip下载pyaudio
pip3 install pyaudioubuntu OSError:[Errno-9996] Invalid input device(Ubuntu安装pyaudio踩的坑)
测试一下:
ubuntu OSError:[Errno-9996] Invalid input device(Ubuntu安装pyaudio踩的坑)
调用未报错:Please build and install the PortAudio Python bindings first

用个demo测试一下:
ubuntu OSError:[Errno-9996] Invalid input device(Ubuntu安装pyaudio踩的坑)
ubuntu OSError:[Errno-9996] Invalid input device(Ubuntu安装pyaudio踩的坑)
成功!!!!

写在文末:官网上面写的是要python-all-dev,本来应该是使用

sudo apt-get install portaudio19-dev python-all-dev python3-all-dev

一次性都给他下载了,但是我下载的时候发现ubuntu日志信息中python3他给我下是3.5的。
ubuntu OSError:[Errno-9996] Invalid input device(Ubuntu安装pyaudio踩的坑)
我的环境是python3.6的(别问我为什么不用ubuntu自带的python3.5 ╭(╯^╰)╮)。赶紧伸出我的黄金无名指和中指,Ctrl+Z给他终止妊娠。最后下载python3.6-dev就可。

遇到同样的问题的朋友一定看清楚自己的环境和配置在搞,不然坑真的多(ಥ﹏ಥ)

上一篇:OSError: [WinError 126] 找不到指定的模块。


下一篇:解决阿里云服务器创建虚拟环境时出现的OSError: Command /root/.virtualenvs/T/bin/python3 - setuptools pkg_resources pip w