PyAudio:属性错误:'module'对象没有属性'PyAudio'。

3
今天我按照http://people.csail.mit.edu/hubert/pyaudio/上的指示安装了Pyaudio,并尝试运行像这个例子一样的一些示例。
import pyaudio
import wave

CHUNK = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 2
RATE = 44100
RECORD_SECONDS = 5
WAVE_OUTPUT_FILENAME = "output.wav"

p = pyaudio.PyAudio()

stream = p.open(format=FORMAT,
            channels=CHANNELS,
            rate=RATE,
            input=True,
            frames_per_buffer=CHUNK)

print("* recording")

frames = []

for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
    data = stream.read(CHUNK)
    frames.append(data)

print("* done recording")

stream.stop_stream()
stream.close()
p.terminate()

wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
wf.setnchannels(CHANNELS)
wf.setsampwidth(p.get_sample_size(FORMAT))
wf.setframerate(RATE)
wf.writeframes(b''.join(frames))
wf.close()

当我尝试运行它时

AttributeError: 'module' object has no attribute 'PyAudio'

这怎么可能呢?

1
你可能使用了一些过时的pyaudio版本。由于你没有提供版本信息,很难给你更详细的答案。 - Nikolay Shmyrev
我使用的是http://people.csail.mit.edu/hubert/pyaudio/上的最新版本,版本号为0.2.8。 - MXkin Tangjarukij
1
如果你运行 for name in vars(pyaudio): print name 命令,它会将导入模块中的所有内容都展示出来。如果没有显示 PyAudio,那么这就像是一个模块安装问题;-) - martineau
他已经说了他今天安装了它,为什么还需要版本号? - Denis
@Denis 这并不能保证他安装了最新版本。要求文件可能指定了旧版本。 - user11563547
6个回答

4

你的示例文件名是否为pyaudio.py?如果是,我也会得到同样的错误。在这种情况下,请将您的工作文件重命名。


请提供一个完整的示例来解决问题。之后该文件应该命名为什么? - Tarick Welling
这种方法对我有效。我将脚本重命名为除了pyaudio.py之外的其他名称。 - KKW
对于导入,Python 首先查找您的工作目录。这意味着如果您在目录中有任何名为 script.py 的模块,您想要使用该模块的名称,那么您的程序将无法正常工作。正如答案所说,这包括当前文件。 - incarnadine

1

1

0

我从未使用过PyAudio,但我使用过SpeechRecognition,在其中您可能需要根据操作系统使用PortAudio。 首先下载homebrew(brew)。

Debian Linux

$ brew install portaudio $ pip install pyaudio

MacOS

$ brew install portaudio $ pip install pyaudio

如果是Windows用户,则我不知道答案。


0

尝试在终端中输入

pip install pyaudio

这不是如果没有安装pyaudio会产生的错误。 - pppery

0

在一些平台上安装pyaudio很困难。在Linux上,它会因为需要不同的编译器而失败。Anacoda可以安装已编译的wheel文件;所以您只需要执行conda install pyaudio就可以了。您也可以执行sudo apt install python-pyaudio来安装pyaudio。至于Windows或Mac,我就不太清楚了。


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