Pyaudio 安装错误 - 'command 'gcc' failed with exit status 1'

Posted

技术标签:

【中文标题】Pyaudio 安装错误 - \'command \'gcc\' failed with exit status 1\'【英文标题】:Pyaudio installation error - 'command 'gcc' failed with exit status 1'Pyaudio 安装错误 - 'command 'gcc' failed with exit status 1' 【发布时间】:2011-08-20 18:52:18 【问题描述】:

我正在运行 Ubuntu 11.04、Python 2.7.1 并想安装 Pyaudio。于是我跑了,

$ sudo easy_install pyaudio

在终端中,进程退出并显示以下错误消息,

搜索 pyaudio 阅读 http://pypi.python.org/simple/pyaudio/ 阅读 http://people.csail.mit.edu/hubert/pyaudio/ 最佳匹配:pyaudio 0.2.4 下载 http://people.csail.mit.edu/hubert/pyaudio/packages/pyaudio-0.2.4.tar.gz 处理pyaudio-0.2.4.tar.gz 运行 PyAudio-0.2.4/setup.py -q bdist_egg --dist-dir /tmp/easy_install-0Tetss/PyAudio-0.2.4/egg-dist-tmp-PYy9T8 在 /usr/include/python2.7/Python.h:8:0 包含的文件中, 来自 src/_portaudiomodule.c:30: /usr/include/python2.7/pyconfig.h:1155:0:警告:“_POSIX_C_SOURCE”重新定义 /usr/include/features.h:214:0: 注意:这是前面定义的位置 src/_portaudiomodule.c:31:23:致命错误:portaudio.h:没有这样的文件或目录 编译终止。 错误:安装脚本退出并出现错误:命令“gcc”失败,退出状态为 1

我不确定是在 askubuntu.com 上还是在 stackoveflow 上发布此内容,但无论如何它都在 *** 中。我也google了一下这个问题,发现通过安装python-dev已经解决了一些问题。我已经安装了 python-dev。可能出了什么问题?

更新

以下是我安装 libportaudio-dev 后遇到的新错误,

搜索 pyaudio 阅读 http://pypi.python.org/simple/pyaudio/ 阅读 http://people.csail.mit.edu/hubert/pyaudio/ 最佳匹配:pyaudio 0.2.4 下载 http://people.csail.mit.edu/hubert/pyaudio/packages/pyaudio-0.2.4.tar.gz 处理pyaudio-0.2.4.tar.gz 运行 PyAudio-0.2.4/setup.py -q bdist_egg --dist-dir /tmp/easy_install-LMpsIy/PyAudio-0.2.4/egg-dist-tmp-AExlqd 在 /usr/include/python2.7/Python.h:8:0 包含的文件中, 来自 src/_portaudiomodule.c:30: /usr/include/python2.7/pyconfig.h:1155:0:警告:“_POSIX_C_SOURCE”重新定义 /usr/include/features.h:214:0: 注意:这是前面定义的位置 src/_portaudiomodule.c:在函数“_pyAudio_paDeviceInfo_get_hostApi”中: src/_portaudiomodule.c:211:38:错误:“PaDeviceInfo”没有名为“hostApi”的成员 src/_portaudiomodule.c:在函数“_pyAudio_paDeviceInfo_get_defaultLowInputLatency”中: src/_portaudiomodule.c:253:42:错误:“PaDeviceInfo”没有名为“defaultLowInputLatency”的成员 src/_portaudiomodule.c:在函数“_pyAudio_paDeviceInfo_get_defaultLowOutputLatency”中: src/_portaudiomodule.c:267:42:错误:“PaDeviceInfo”没有名为“defaultLowOutputLatency”的成员 src/_portaudiomodule.c:在函数“_pyAudio_paDeviceInfo_get_defaultHighInputLatency”中: src/_portaudiomodule.c:282:42:错误:“PaDeviceInfo”没有名为“defaultHighInputLatency”的成员 src/_portaudiomodule.c:在函数“_pyAudio_paDeviceInfo_get_defaultHighOutputLatency”中: src/_portaudiomodule.c:296:42:错误:“PaDeviceInfo”没有名为“defaultHighOutputLatency”的成员 src/_portaudiomodule.c:在函数“_pyAudio_paDeviceInfo_get_defaultSampleRate”中: src/_portaudiomodule.c:310:42:错误:“PaDeviceInfo”没有名为“defaultSampleRate”的成员 src/_portaudiomodule.c:在顶层: src/_portaudiomodule.c:465:3:错误:“PaHostApiInfo”之前的预期说明符限定符列表 src/_portaudiomodule.c:在函数“_pyAudio_paHostApiInfo_get_structVersion”中: src/_portaudiomodule.c:475:13:错误:“_pyAudio_paHostApiInfo”没有名为“apiInfo”的成员 src/_portaudiomodule.c:481:29:错误:“_pyAudio_paHostApiInfo”没有名为“apiInfo”的成员 src/_portaudiomodule.c:在函数“_pyAudio_paHostApiInfo_get_type”中: src/_portaudiomodule.c:489:13:错误:“_pyAudio_paHostApiInfo”没有名为“apiInfo”的成员 src/_portaudiomodule.c:495:36:错误:“_pyAudio_paHostApiInfo”没有名为“apiInfo”的成员 src/_portaudiomodule.c:在函数“_pyAudio_paHostApiInfo_get_name”中: src/_portaudiomodule.c:503:13:错误:“_pyAudio_paHostApiInfo”没有名为“apiInfo”的成员 src/_portaudiomodule.c:503:32:错误:“_pyAudio_paHostApiInfo”没有名为“apiInfo”的成员 src/_portaudiomodule.c:509:34:错误:“_pyAudio_paHostApiInfo”没有名为“apiInfo”的成员 src/_portaudiomodule.c:在函数“_pyAudio_paHostApiInfo_get_deviceCount”中: src/_portaudiomodule.c:517:13:错误:“_pyAudio_paHostApiInfo”没有名为“apiInfo”的成员 src/_portaudiomodule.c:523:29:错误:“_pyAudio_paHostApiInfo”没有名为“apiInfo”的成员 src/_portaudiomodule.c:在函数“_pyAudio_paHostApiInfo_get_defaultInputDevice”中: src/_portaudiomodule.c:531:13:错误:“_pyAudio_paHostApiInfo”没有名为“apiInfo”的成员 src/_portaudiomodule.c:537:29:错误:“_pyAudio_paHostApiInfo”没有名为“apiInfo”的成员 src/_portaudiomodule.c:在函数“_pyAudio_paHostApiInfo_get_defaultOutputDevice”中: src/_portaudiomodule.c:545:13:错误:“_pyAudio_paHostApiInfo”没有名为“apiInfo”的成员 src/_portaudiomodule.c:551:29:错误:“_pyAudio_paHostApiInfo”没有名为“apiInfo”的成员 src/_portaudiomodule.c:在函数“_pyAudio_paHostApiInfo_dealloc”中: src/_portaudiomodule.c:569:7:错误:“_pyAudio_paHostApiInfo”没有名为“apiInfo”的成员 src/_portaudiomodule.c:在顶层: src/_portaudiomodule.c:910:3:错误:“PaStreamParameters”之前的预期说明符限定符列表 src/_portaudiomodule.c:在函数“_is_open”中: src/_portaudiomodule.c:921:23:错误:“_pyAudio_Stream”没有名为“is_open”的成员 src/_portaudiomodule.c:在函数“_cleanup_Stream_object”中: src/_portaudiomodule.c:932:19:错误:“_pyAudio_Stream”没有名为“streamInfo”的成员 src/_portaudiomodule.c:933:17:错误:“_pyAudio_Stream”没有名为“streamInfo”的成员 src/_portaudiomodule.c:935:19:错误:“_pyAudio_Stream”没有名为“inputParameters”的成员 src/_portaudiomodule.c:936:22:错误:“_pyAudio_Stream”没有名为“inputParameters”的成员 src/_portaudiomodule.c:937:17:错误:“_pyAudio_Stream”没有名为“inputParameters”的成员 src/_portaudiomodule.c:940:19:错误:“_pyAudio_Stream”没有名为“outputParameters”的成员 src/_portaudiomodule.c:941:22:错误:“_pyAudio_Stream”没有名为“outputParameters”的成员 src/_portaudiomodule.c:942:17:错误:“_pyAudio_Stream”没有名为“outputParameters”的成员 src/_portaudiomodule.c:946:15:错误:“_pyAudio_Stream”没有名为“is_open”的成员 src/_portaudiomodule.c:在函数“_pyAudio_Stream_get_structVersion”中: src/_portaudiomodule.c:973:13:错误:“_pyAudio_Stream”没有名为“streamInfo”的成员 src/_portaudiomodule.c:981:29:错误:“_pyAudio_Stream”没有名为“streamInfo”的成员 src/_portaudiomodule.c:在函数“_pyAudio_Stream_get_inputLatency”中: src/_portaudiomodule.c:998:13:错误:“_pyAudio_Stream”没有名为“streamInfo”的成员 src/_portaudiomodule.c:1006:33:错误:“_pyAudio_Stream”没有名为“streamInfo”的成员 src/_portaudiomodule.c:在函数“_pyAudio_Stream_get_outputLatency”中: src/_portaudiomodule.c:1023:13:错误:“_pyAudio_Stream”没有名为“streamInfo”的成员 src/_portaudiomodule.c:1031:33:错误:“_pyAudio_Stream”没有名为“streamInfo”的成员 src/_portaudiomodule.c:在函数“_pyAudio_Stream_get_sampleRate”中: src/_portaudiomodule.c:1048:13:错误:“_pyAudio_Stream”没有名为“streamInfo”的成员 src/_portaudiomodule.c:1056:33:错误:“_pyAudio_Stream”没有名为“streamInfo”的成员 src/_portaudiomodule.c:在函数“pa_get_version”中: src/_portaudiomodule.c:1168:3:警告:函数‘Pa_GetVersion’的隐式声明 src/_portaudiomodule.c:在函数“pa_get_version_text”中: src/_portaudiomodule.c:1177:3:警告:函数‘Pa_GetVersionText’的隐式声明 src/_portaudiomodule.c:1177:3:警告:传递“PyString_FromString”的参数 1 使指针从整数而不进行强制转换 /usr/include/python2.7/stringobject.h:63:24:注意:预期为“const char *”,但参数的类型为“int” src/_portaudiomodule.c:在函数“pa_get_host_api_count”中: src/_portaudiomodule.c:1221:3: error: ‘PaHostApiIndex’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:1221:3:注意:每个未声明的标识符对于它出现的每个函数只报告一次 src/_portaudiomodule.c:1221:18: 错误: 预期‘;’在‘count’之前 src/_portaudiomodule.c:1226:3: error: ‘count’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:1226:3:警告:函数‘Pa_GetHostApiCount’的隐式声明 src/_portaudiomodule.c:在函数“pa_get_default_host_api”中: src/_portaudiomodule.c:1248:3: error: ‘PaHostApiIndex’ undeclared (首先在这个函数中使用) src/_portaudiomodule.c:1248:18: 错误: 预期的‘;’在‘索引’之前 src/_portaudiomodule.c:1253:3:警告:函数‘Pa_GetDefaultHostApi’的隐式声明 src/_portaudiomodule.c:1253:3:错误:需要左值作为赋值的左操作数 src/_portaudiomodule.c:1265:7:警告:传递“Pa_GetErrorText”的参数 1 从指针生成整数而不进行强制转换 /usr/include/portaudio.h:93:13:注意:预期为“PaError”,但参数类型为“char * (*)(const char *, int)” src/_portaudiomodule.c:1269:3:警告:传递“PyInt_FromLong”的参数 1 从指针生成整数而不进行强制转换 /usr/include/python2.7/intobject.h:38:24:注意:预期为“long int”,但参数类型为“char * (*)(const char *, int)” src/_portaudiomodule.c:在函数‘pa_host_api_type_id_to_host_api_index’中: src/_portaudiomodule.c:1275:3: error: ‘PaHostApiTypeId’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:1275:19: 错误: 预期的‘;’在‘typeid’之前 src/_portaudiomodule.c:1276:3: error: ‘PaHostApiIndex’ undeclared (首先在这个函数中使用) src/_portaudiomodule.c:1276:18: 错误: 预期‘;’在‘索引’之前 src/_portaudiomodule.c:1278:37: error: ‘typeid’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:1281:3:警告:函数‘Pa_HostApiTypeIdToHostApiIndex’的隐式声明 src/_portaudiomodule.c:1293:7:警告:传递“Pa_GetErrorText”的参数 1 从指针生成整数而不进行强制转换 /usr/include/portaudio.h:93:13:注意:预期为“PaError”,但参数类型为“char * (*)(const char *, int)” src/_portaudiomodule.c:1297:3:警告:传递“PyInt_FromLong”的参数 1 从指针生成整数而不进行强制转换 /usr/include/python2.7/intobject.h:38:24:注意:预期为“long int”,但参数类型为“char * (*)(const char *, int)” src/_portaudiomodule.c:在函数‘pa_host_api_device_index_to_device_index’中: src/_portaudiomodule.c:1303:3: error: ‘PaHostApiIndex’ undeclared (首先在这个函数中使用) src/_portaudiomodule.c:1303:18: 错误: 预期‘;’在‘apiIndex’之前 src/_portaudiomodule.c:1305:3: error: ‘PaDeviceIndex’ undeclared (首先在这个函数中使用) src/_portaudiomodule.c:1305:17: 错误: 预期‘;’在‘devIndex’之前 src/_portaudiomodule.c:1308:38: error: ‘apiIndex’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:1311:3: error: ‘devIndex’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:1311:3:警告:函数‘Pa_HostApiDeviceIndexToDeviceIndex’的隐式声明 src/_portaudiomodule.c:在函数“pa_get_host_api_info”中: src/_portaudiomodule.c:1332:3: error: ‘PaHostApiIndex’ undeclared (首先在这个函数中使用) src/_portaudiomodule.c:1332:18: 错误: 预期‘;’在‘索引’之前 src/_portaudiomodule.c:1333:3: error: ‘PaHostApiInfo’ undeclared (首先在这个函数中使用) src/_portaudiomodule.c:1333:18: error: ‘_info’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:1339:27: 错误: ')' 标记之前的预期表达式 src/_portaudiomodule.c:1345:7: error: ‘paInvalidHostApi’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:1350:10:错误:“_pyAudio_paHostApiInfo”没有名为“apiInfo”的成员 src/_portaudiomodule.c:在函数“pa_get_device_count”中: src/_portaudiomodule.c:1364:3: error: ‘PaDeviceIndex’ undeclared (首先在这个函数中使用) src/_portaudiomodule.c:1364:17: 错误: 预期‘;’在‘count’之前 src/_portaudiomodule.c:1369:3: error: ‘count’ undeclared (首先在这个函数中使用) src/_portaudiomodule.c:1369:3:警告:函数‘Pa_GetDeviceCount’的隐式声明 src/_portaudiomodule.c:在函数‘pa_get_default_input_device’中: src/_portaudiomodule.c:1390:3: error: ‘PaDeviceIndex’ undeclared (首先在这个函数中使用) src/_portaudiomodule.c:1390:17: 错误: 预期‘;’在‘索引’之前 src/_portaudiomodule.c:1395:3:警告:函数‘Pa_GetDefaultInputDevice’的隐式声明 src/_portaudiomodule.c:1395:3:错误:需要左值作为赋值的左操作数 src/_portaudiomodule.c:1396:13:警告:指针和整数之间的比较 src/_portaudiomodule.c:1409:7:警告:传递“Pa_GetErrorText”的参数 1 从指针生成整数而不进行强制转换 /usr/include/portaudio.h:93:13:注意:预期为“PaError”,但参数类型为“char * (*)(const char *, int)” src/_portaudiomodule.c:1413:3:警告:传递“PyInt_FromLong”的参数 1 从指针生成整数而不进行强制转换 /usr/include/python2.7/intobject.h:38:24:注意:预期为“long int”,但参数类型为“char * (*)(const char *, int)” src/_portaudiomodule.c:在函数‘pa_get_default_output_device’中: src/_portaudiomodule.c:1419:3: error: ‘PaDeviceIndex’ undeclared (首先在这个函数中使用) src/_portaudiomodule.c:1419:17: 错误: 预期的‘;’在‘索引’之前 src/_portaudiomodule.c:1424:3:警告:函数‘Pa_GetDefaultOutputDevice’的隐式声明 src/_portaudiomodule.c:1424:3:错误:需要左值作为赋值的左操作数 src/_portaudiomodule.c:1425:13:警告:指针和整数之间的比较 src/_portaudiomodule.c:1438:7:警告:传递“Pa_GetErrorText”的参数 1 从指针生成整数而不进行强制转换 /usr/include/portaudio.h:93:13:注意:预期为“PaError”,但参数类型为“char * (*)(const char *, int)” src/_portaudiomodule.c:1442:3:警告:传递“PyInt_FromLong”的参数 1 从指针生成整数而不进行强制转换 /usr/include/python2.7/intobject.h:38:24:注意:预期为“long int”,但参数类型为“char * (*)(const char *, int)” src/_portaudiomodule.c:在函数“pa_get_device_info”中: src/_portaudiomodule.c:1448:3: error: ‘PaDeviceIndex’ undeclared (首先在这个函数中使用) src/_portaudiomodule.c:1448:17: 错误: 预期的‘;’在‘索引’之前 src/_portaudiomodule.c:1455:3:警告:传递“Pa_GetDeviceInfo”的参数 1 从指针生成整数而不进行强制转换 /usr/include/portaudio.h:182:21:注意:预期为“PaDeviceID”,但参数类型为“char * (*)(const char *, int)” src/_portaudiomodule.c:1460:30: error: ‘paInvalidDevice’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:在函数“pa_open”中: src/_portaudiomodule.c:1601:3: error: ‘PaStreamParameters’ undeclared (首先在这个函数中使用) src/_portaudiomodule.c:1601:23: error: ‘outputParameters’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:1602:23: error: ‘inputParameters’ undeclared (首先在这个函数中使用) src/_portaudiomodule.c:1606:28: 错误: ')' 标记之前的预期表达式 src/_portaudiomodule.c:1622:9: error: ‘paInvalidDevice’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:1643:28: 错误: ')' 标记之前的预期表达式 src/_portaudiomodule.c:1679:3: error: ‘PaStreamInfo’ undeclared (首先在这个函数中使用) src/_portaudiomodule.c:1679:17: error: ‘streamInfo’ undeclared (首先在这个函数中使用) src/_portaudiomodule.c:1696:9:警告:传递“Pa_OpenStream”的参数 5 使指针从整数而不进行强制转换 /usr/include/portaudio.h:325:9:注意:预期为“void *”,但参数的类型为“int” src/_portaudiomodule.c:1696:9: 警告:传递“Pa_OpenStream”的参数 7 从指针生成整数而不进行强制转换 /usr/include/portaudio.h:325:9:注意:预期为“int”,但参数的类型为“void *” src/_portaudiomodule.c:1696:9:警告:传递“Pa_OpenStream”的参数 8 从指针中生成整数而不进行强制转换 /usr/include/portaudio.h:325:9:注意:预期为“PaSampleFormat”,但参数类型为“void *” src/_portaudiomodule.c:1696:9:错误:函数“Pa_OpenStream”的参数太少 /usr/include/portaudio.h:325:9:注意:在这里声明 src/_portaudiomodule.c:1712:31: 错误: ')' 标记之前的预期表达式 src/_portaudiomodule.c:1724:15:错误:“_pyAudio_Stream”没有名为“inputParameters”的成员 src/_portaudiomodule.c:1725:15:错误:“_pyAudio_Stream”没有名为“outputParameters”的成员 src/_portaudiomodule.c:1726:15:错误:“_pyAudio_Stream”没有名为“is_open”的成员 src/_portaudiomodule.c:1727:15:错误:“_pyAudio_Stream”没有名为“streamInfo”的成员 src/_portaudiomodule.c:在函数“pa_is_format_supported”中: src/_portaudiomodule.c:1791:3: error: ‘PaStreamParameters’ undeclared (首先在这个函数中使用) src/_portaudiomodule.c:1791:22:错误:在“inputParams”之前需要“;” src/_portaudiomodule.c:1792:22: 错误:在“outputParams”之前需要“;” src/_portaudiomodule.c:1812:5: error: ‘inputParams’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:1820:5: error: ‘outputParams’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:1827:3:警告:函数‘Pa_IsFormatSupported’的隐式声明 src/_portaudiomodule.c:1831:16: error: ‘paFormatIsSupported’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:在函数“pa_start_stream”中: src/_portaudiomodule.c:1870:16: error: ‘paStreamIsNotStopped’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:在函数“pa_stop_stream”中: src/_portaudiomodule.c:1911:16: error: ‘paStreamIsStopped’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:在函数“pa_abort_stream”中: src/_portaudiomodule.c:1952:16: error: ‘paStreamIsStopped’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:在函数“pa_is_stream_stopped”中: src/_portaudiomodule.c:1994:3:警告:函数‘Pa_IsStreamStopped’的隐式声明 src/_portaudiomodule.c:在函数“pa_is_stream_active”中: src/_portaudiomodule.c:2039:3:警告:函数‘Pa_IsStreamActive’的隐式声明 src/_portaudiomodule.c:在函数“pa_get_stream_time”中: src/_portaudiomodule.c:2086:3:警告:函数‘Pa_GetStreamTime’的隐式声明 src/_portaudiomodule.c:在函数“pa_get_stream_cpu_load”中: src/_portaudiomodule.c:2118:3:警告:函数‘Pa_GetStreamCpuLoad’的隐式声明 src/_portaudiomodule.c:在函数“pa_write_stream”中: src/_portaudiomodule.c:2167:3:警告:函数‘Pa_WriteStream’的隐式声明 src/_portaudiomodule.c:2171:16: error: ‘paOutputUnderflowed’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:在函数“pa_read_stream”中: src/_portaudiomodule.c:2233:3: error: ‘PaStreamParameters’ undeclared (首先在这个函数中使用) src/_portaudiomodule.c:2233:23: error: ‘inputParameters’ undeclared (首先在这个函数中使用) src/_portaudiomodule.c:2233:53:错误:“_pyAudio_Stream”没有名为“inputParameters”的成员 src/_portaudiomodule.c:2253:3:警告:函数‘Pa_ReadStream’的隐式声明 src/_portaudiomodule.c:2259:15: error: ‘paInputOverflowed’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:2265:22: error: ‘paOutputUnderflowed’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:在函数“pa_get_stream_write_available”中: src/_portaudiomodule.c:2309:3:警告:函数‘Pa_GetStreamWriteAvailable’的隐式声明 src/_portaudiomodule.c:在函数“pa_get_stream_read_available”中: src/_portaudiomodule.c:2334:3:警告:函数‘Pa_GetStreamReadAvailable’的隐式声明 src/_portaudiomodule.c:在函数“init_portaudio”中: src/_portaudiomodule.c:2384:49: error: ‘paInDevelopment’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:2385:47: error: ‘paDirectSound’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:2386:39: error: ‘paMME’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:2387:40: error: ‘paASIO’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:2388:48: error: ‘paSoundManager’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:2389:45: error: ‘paCoreAudio’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:2390:39: error: ‘paOSS’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:2391:40: error: ‘paALSA’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:2392:38: error: ‘paAL’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:2393:40: error: ‘paBeOS’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:2394:41: error: ‘paWDMKS’ undeclared (首先在这个函数中使用) src/_portaudiomodule.c:2395:40: error: ‘paJACK’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:2396:42: error: ‘paWASAPI’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:2410:50: error: ‘paNotInitialized’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:2412:6: error: ‘paUnanticipatedHostError’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:2417:49: error: ‘paInvalidDevice’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:2433:6: error: ‘paIncompatibleHostApiSpecificStreamInfo’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:2434:51: error: ‘paStreamIsStopped’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:2435:54: error: ‘paStreamIsNotStopped’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:2436:51: error: ‘paInputOverflowed’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:2437:53: error: ‘paOutputUnderflowed’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:2438:51: error: ‘paHostApiNotFound’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:2439:50: error: ‘paInvalidHostApi’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:2441:6: error: ‘paCanNotReadFromACallbackStream’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:2443:6: error: ‘paCanNotWriteToACallbackStream’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:2445:6: error: ‘paCanNotReadFromAnOutputOnlyStream’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:2447:6: error: ‘paCanNotWriteToAnInputOnlyStream’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:2449:6: error: ‘paIncompatibleStreamHostApi’ undeclared (第一次在这个函数中使用) src/_portaudiomodule.c:在函数“_pyAudio_paHostApiInfo_get_defaultOutputDevice”中: src/_portaudiomodule.c:552:1:警告:控制到达非无效函数的结尾 src/_portaudiomodule.c:在函数“_pyAudio_paHostApiInfo_get_defaultInputDevice”中: src/_portaudiomodule.c:538:1:警告:控制到达非无效函数的结尾 src/_portaudiomodule.c:在函数“_pyAudio_paHostApiInfo_get_deviceCount”中: src/_portaudiomodule.c:524:1:警告:控制到达非无效函数的结尾 src/_portaudiomodule.c:在函数“_pyAudio_paHostApiInfo_get_type”中: src/_portaudiomodule.c:496:1:警告:控制到达非无效函数的结尾 src/_portaudiomodule.c:在函数“_pyAudio_paHostApiInfo_get_structVersion”中: src/_portaudiomodule.c:482:1:警告:控制到达非无效函数的结尾 src/_portaudiomodule.c:在函数“_pyAudio_paHostApiInfo_get_name”中: src/_portaudiomodule.c:510:1:警告:控制到达非无效函数的结尾 src/_portaudiomodule.c:在函数“_pyAudio_paDeviceInfo_get_defaultSampleRate”中: src/_portaudiomodule.c:311:1:警告:控制到达非无效函数的结尾 src/_portaudiomodule.c:在函数“_pyAudio_paDeviceInfo_get_defaultHighOutputLatency”中: src/_portaudiomodule.c:297:1:警告:控制到达非无效函数的结尾 src/_portaudiomodule.c:在函数“_pyAudio_paDeviceInfo_get_defaultHighInputLatency”中: src/_portaudiomodule.c:283:1:警告:控制到达非无效函数的结尾 src/_portaudiomodule.c:在函数“_pyAudio_paDeviceInfo_get_defaultLowOutputLatency”中: src/_portaudiomodule.c:268:1:警告:控制到达非无效函数的结尾 src/_portaudiomodule.c:在函数“_pyAudio_paDeviceInfo_get_defaultLowInputLatency”中: src/_portaudiomodule.c:254:1:警告:控制到达非无效函数的结尾 src/_portaudiomodule.c:在函数“_pyAudio_paDeviceInfo_get_hostApi”中: src/_portaudiomodule.c:212:1:警告:控制到达非无效函数的结尾 src/_portaudiomodule.c:在函数“_pyAudio_Stream_get_sampleRate”中: src/_portaudiomodule.c:1057:1:警告:控制到达非无效函数的结尾 src/_portaudiomodule.c:在函数“_is_open”中: src/_portaudiomodule.c:922:1:警告:控制到达非无效函数的结尾 src/_portaudiomodule.c:在函数“_pyAudio_Stream_get_outputLatency”中: src/_portaudiomodule.c:1032:1:警告:控制到达非无效函数的结尾 src/_portaudiomodule.c:在函数“_pyAudio_Stream_get_inputLatency”中: src/_portaudiomodule.c:1007:1:警告:控制到达非无效函数的结尾 src/_portaudiomodule.c:在函数“_pyAudio_Stream_get_structVersion”中: src/_portaudiomodule.c:982:1:警告:控制到达非无效函数的结尾 src/_portaudiomodule.c:在函数“pa_is_format_supported”中: src/_portaudiomodule.c:1841:1:警告:控制到达非无效函数的结尾 src/_portaudiomodule.c:在函数“pa_get_device_count”中: src/_portaudiomodule.c:1385:1:警告:控制到达非无效函数的结尾 src/_portaudiomodule.c:在函数‘pa_host_api_device_index_to_device_index’中: src/_portaudiomodule.c:1327:1:警告:控制到达非无效函数的结尾 src/_portaudiomodule.c:在函数“pa_get_host_api_count”中: src/_portaudiomodule.c:1243:1:警告:控制到达非无效函数的结尾 错误:安装脚本退出并出现错误:命令“gcc”失败,退出状态为 1

【问题讨论】:

【参考方案1】:

嗯,我用包管理器解决了这个问题,

 $ sudo apt-get install python-pyaudio

虽然仍然不知道为什么easy_install会失败。

【讨论】:

最简单的安装方法。似乎 PIP 和 easy_install 无法安装 C 源依赖项。 这通常不是推荐的解决方案。在这种情况下,pyaudio 系统包和 pip 包都是最新的,但通常系统包是古老且有缺陷的。安装依赖的系统包,然后使用 easy_install 或 pip 安装(如下面的解决方案说明),通常会导致更好的安装。【参考方案2】:

在https://groups.google.com/forum/#!msg/pyo-discuss/ptp_m39ACpI/XgKdK8YGNSoJ找到答案

sudo apt-get install portaudio19-dev

【讨论】:

至少在我的 Ubuntu 14.04 上,这会导致 apt-get 抱怨软件包被破坏。我怀疑这个答案有效时涉及到一个损坏的依赖关系:***.com/a/21801632/865169(包括libjack-jackd2-dev)。 我首先以这种方式安装了 portaudio,然后安装了 pyaudio,它在 Ubuntu 18.04 上运行。 sudo apt-get install portaudio19-dev 然后我能够安装 pyaudio:sudo apt-get install pyaudio【参考方案3】:

在 ubuntu 13.10 又名 Saucy Salamander 上,我通过安装 libjack-jackd2-devportaudio19-dev 解决了这个问题。

sudo apt-get install libjack-jackd2-dev portaudio19-dev

那么pip install pyaudio 应该可以工作了。

【讨论】:

我们如何在windows 7 pc上安装 谢谢你!经过 42 次其他类似解决方案的尝试后,这个解决方案完美运行! :) 这对我的树莓派有效。谢谢!【参考方案4】:

我在 OpenSuse (13.2) 上遇到类似错误后发现了这个问题。所以我想我也会发布我的解决方案,以防其他人通过 Google 找到它。

虽然 libportaudio2 是包含库的软件包,但您还需要 portaudio-devel 才能进行安装。

【讨论】:

【参考方案5】:

这就是我的工作方式:

    brew 更新(如果您的 brew 是最新的,您可以忽略此步骤) brew install portaudio brew 链接 --overwrite portaudio sudo python2.7 -m pip install --global-option='build_ext' --global-option='-I/usr/local/include' --global-option='-L/usr/local/ lib'pyaudio

【讨论】:

【参考方案6】:

我安装在我的 virtualenv 中。 pyaudio (0.2.11)

    pip install pyaudio -> 错误 sudo apt-get install portaudio19-dev -> 成功 pip install pyaudio -> 成功

【讨论】:

【参考方案7】:

在 Fedora 27 上,为了从默认的 python3 安装中获取 pyaudio,我做了以下操作

sudo dnf install python3-devel
sudo dnf install portaudio-devel
sudo pip3 install pyaudio

【讨论】:

确认在 Fedora 30 上工作。read the docs - Debian/Ubuntu.【参考方案8】:

使用以下命令安装pyaudio

sudo apt-get install python-pyaudio

【讨论】:

【参考方案9】:

也有同样的问题。我正在研究 MAC 并通过运行这些代码行解决了这个问题。

brew install portaudio

pip install pyaudio

【讨论】:

【参考方案10】:

此方法适用于 M1 Macs

Install PyAudio on M1 Mac

这个方法对我来说很成功。

【讨论】:

以上是关于Pyaudio 安装错误 - 'command 'gcc' failed with exit status 1'的主要内容,如果未能解决你的问题,请参考以下文章

错误安装PyAudio“失败的建筑轮为PyAudio”

无法安装pyaudio,gcc错误

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

Centos7下安装pyaudio实现声音录制

如何修复 PyAudio、PortAudio 的安装问题:“致命错误 C1083:无法打开包含文件:'portaudio.h':没有这样的文件或目录”

如何通过cli在heroku上安装pyaudio python包