#python #python-3.x #pyaudio
#python #python-3.x #pyaudio
Вопрос:
Я использую Python 3.8.3.
Я попытался установить PyAudio с помощью pip install pyaudio
. Но я получил wheel
ошибку, а также ошибку, связанную с setup.py
of PyAudio
.
Collecting pyaudio
Using cached PyAudio-0.2.11.tar.gz (37 kB)
Building wheels for collected packages: pyaudio
Building wheel for pyaudio (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: 'c:users17326pycharmprojectsvoicevenvscriptspython.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\17326\AppData\Local\Temp\pip-install-
1t8lu494\pyaudio\setup.py'"'"'; __file__='"'"'C:\Users\17326\AppData\Local\Temp\pip-install-1t8lu494\pyaudio\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);co
de=f.read().replace('"'"'rn'"'"', '"'"'n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:Users17326AppDataLocalTemppip-wheel-3y_f6xu3'
cwd: C:Users17326AppDataLocalTemppip-install-1t8lu494pyaudio
Complete output (15 lines):
running bdist_wheel
running build
running build_py
creating build
creating buildlib.win32-3.8
copying srcpyaudio.py -> buildlib.win32-3.8
running build_ext
building '_portaudio' extension
creating buildtemp.win32-3.8
creating buildtemp.win32-3.8Release
creating buildtemp.win32-3.8Releasesrc
C:Program Files (x86)Microsoft Visual Studio2019BuildToolsVCToolsMSVC14.26.28801binHostX86x86cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ic:users17326pycharmprojectsvoic
evenvinclude -IC:Users17326AppDataLocalProgramsPythonPython38-32include -IC:Users17326AppDataLocalProgramsPythonPython38-32include "-IC:Program Files (x86)Microsoft Vi
sual Studio2019BuildToolsVCToolsMSVC14.26.28801include" "-IC:Program Files (x86)Windows Kits10include10.0.18362.0ucrt" "-IC:Program Files (x86)Windows Kits10include10.0.
18362.0shared" "-IC:Program Files (x86)Windows Kits10include10.0.18362.0um" "-IC:Program Files (x86)Windows Kits10include10.0.18362.0winrt" "-IC:Program Files (x86)Windows
Kits10include10.0.18362.0cppwinrt" /Tcsrc/_portaudiomodule.c /Fobuildtemp.win32-3.8Releasesrc/_portaudiomodule.obj
_portaudiomodule.c
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\2019\BuildTools\VC\Tools\MSVC\14.26.28801\bin\HostX86\x86\cl.exe' failed with exit status 2
----------------------------------------
ERROR: Failed building wheel for pyaudio
Running setup.py clean for pyaudio
Failed to build pyaudio
Installing collected packages: pyaudio
Running setup.py install for pyaudio ... error
ERROR: Command errored out with exit status 1:
command: 'c:users17326pycharmprojectsvoicevenvscriptspython.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\17326\AppData\Local\Temp\pip-instal
l-1t8lu494\pyaudio\setup.py'"'"'; __file__='"'"'C:\Users\17326\AppData\Local\Temp\pip-install-1t8lu494\pyaudio\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);
code=f.read().replace('"'"'rn'"'"', '"'"'n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:Users17326AppDataLocalTemppip-record-quacxxz7instal
l-record.txt' --single-version-externally-managed --compile --install-headers 'c:users17326pycharmprojectsvoicevenvincludesitepython3.8pyaudio'
cwd: C:Users17326AppDataLocalTemppip-install-1t8lu494pyaudio
Complete output (15 lines):
running install
running build
running build_py
creating build
creating buildlib.win32-3.8
copying srcpyaudio.py -> buildlib.win32-3.8
running build_ext
building '_portaudio' extension
creating buildtemp.win32-3.8
creating buildtemp.win32-3.8Release
creating buildtemp.win32-3.8Releasesrc
C:Program Files (x86)Microsoft Visual Studio2019BuildToolsVCToolsMSVC14.26.28801binHostX86x86cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ic:users17326pycharmprojectsvo
icevenvinclude -IC:Users17326AppDataLocalProgramsPythonPython38-32include -IC:Users17326AppDataLocalProgramsPythonPython38-32include "-IC:Program Files (x86)Microsoft
Visual Studio2019BuildToolsVCToolsMSVC14.26.28801include" "-IC:Program Files (x86)Windows Kits10include10.0.18362.0ucrt" "-IC:Program Files (x86)Windows Kits10include10.
0.18362.0shared" "-IC:Program Files (x86)Windows Kits10include10.0.18362.0um" "-IC:Program Files (x86)Windows Kits10include10.0.18362.0winrt" "-IC:Program Files (x86)Window
s Kits10include10.0.18362.0cppwinrt" /Tcsrc/_portaudiomodule.c /Fobuildtemp.win32-3.8Releasesrc/_portaudiomodule.obj
_portaudiomodule.c
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\2019\BuildTools\VC\Tools\MSVC\14.26.28801\bin\HostX86\x86\cl.exe' failed with exit status 2
----------------------------------------
ERROR: Command errored out with exit status 1: 'c:users17326pycharmprojectsvoicevenvscriptspython.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\17326
AppData\Local\Temp\pip-install-1t8lu494\pyaudio\setup.py'"'"'; __file__='"'"'C:\Users\17326\AppData\Local\Temp\pip-install-1t8lu494\pyaudio\setup.py'"'"';f=getattr(tokenize,
'"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'rn'"'"', '"'"'n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:Users17326AppDataLoca
lTemppip-record-quacxxz7install-record.txt' --single-version-externally-managed --compile --install-headers 'c:users17326pycharmprojectsvoicevenvincludesitepython3.8pyaudio' C
heck the logs for full command output.
Затем я немного погуглил и нашел здесь. Итак, я установил PyAudio-0.2.11-cp39-cp39-win_amd64.whl
.
Когда я печатаю pip install PyAudio-0.2.11-cp39-cp39-win_amd64.whl
, я получаю сообщение об ошибке ERROR: PyAudio-0.2.11-cp39-cp39-win_amd64.whl is not a supported wheel on this platform.
После этого я искал в Stack Overflow. Я видел, что кто-то ответил, сказав:
Попробуйте это:
pip install pipwin pipwin install pyaudio
pipwin похож на pip, но он устанавливает предварительно скомпилированные двоичные файлы Windows, предоставленные Кристофом Голке. Избавляет вас от необходимости искать в Google и загружать вручную.
Но когда я использую это, я получаю следующую ошибку:
Package `pyaudio` found in cache
Downloading package . . .
https://download.lfd.uci.edu/pythonlibs/w3jqiv8s/PyAudio-0.2.11-cp38-cp38-win32.whl
PyAudio-0.2.11-cp38-cp38-win32.whl
Traceback (most recent call last):
File "C:Users17326AppDataLocalProgramsPythonPython38-32librunpy.py", line 193, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:Users17326AppDataLocalProgramsPythonPython38-32librunpy.py", line 86, in _run_code
exec(code, run_globals)
File "C:Users17326PycharmProjectsVoicevenvScriptspipwin.exe__main__.py", line 7, in <module>
File "c:users17326pycharmprojectsvoicevenvlibsite-packagespipwincommand.py", line 98, in main
cache.install(package)
File "c:users17326pycharmprojectsvoicevenvlibsite-packagespipwinpipwin.py", line 300, in install
wheel_file = self.download(requirement)
File "c:users17326pycharmprojectsvoicevenvlibsite-packagespipwinpipwin.py", line 294, in download
return self._download(requirement, dest)
File "c:users17326pycharmprojectsvoicevenvlibsite-packagespipwinpipwin.py", line 290, in _download
obj.start()
File "c:users17326pycharmprojectsvoicevenvlibsite-packagespySmartDLpySmartDL.py", line 267, in start
urlObj = urllib.request.urlopen(req, timeout=self.timeout, context=self.context)
File "C:Users17326AppDataLocalProgramsPythonPython38-32liburllibrequest.py", line 222, in urlopen
return opener.open(url, data, timeout)
File "C:Users17326AppDataLocalProgramsPythonPython38-32liburllibrequest.py", line 531, in open
response = meth(req, response)
File "C:Users17326AppDataLocalProgramsPythonPython38-32liburllibrequest.py", line 640, in http_response
response = self.parent.error(
File "C:Users17326AppDataLocalProgramsPythonPython38-32liburllibrequest.py", line 569, in error
return self._call_chain(*args)
File "C:Users17326AppDataLocalProgramsPythonPython38-32liburllibrequest.py", line 502, in _call_chain
result = func(*args)
File "C:Users17326AppDataLocalProgramsPythonPython38-32liburllibrequest.py", line 649, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 404: Not Found
Из того, что я вижу, используемый источник pipwin
устарел — удален, поэтому я получаю эту ошибку.
Есть ли какой-либо другой способ сделать это?
Комментарии:
1. Какую версию python вы используете?
2. Я использую Python 3.8.3.
3. Затем попробуйте загрузить pyaudio для python 3.8, это должен быть тот, у которого есть cp38, а не cp39.
4. Ничего не изменилось.
Ответ №1:
Вам нужно убедиться, что у вас правильная версия pyaudio, например, cp38 означает CPython 3.8. Вам также необходимо убедиться, что вы загружаете правильный тип, поэтому, если у вас 32-разрядный python, вам нужен файл с win32, а для 64-разрядной версии вам нужен win_amd64. Для вашего случая, который вы хотите PyAudio‑0.2.11‑cp38‑cp38‑win32.whl
, потому что он предназначен для 32-разрядного CPython 3.8.