Problem description
Is it safe to assume that if a package is available to install, it would be a bug if it doesn’t? Because I don’t know system engineering or whatever it’s called, i worry about bothering you guys with something that’s not truly a bug - but I balanced that concern with the fact that you guys mentioned that if there’s really a bug you’d really like to know about it so you can fix it. Because I did the following before posting this, it SEEMS more likely than not to be a bug? But I am not sure. It should be easy for you guys to replicate though, so hopefully it won’t take you long to see what i am seeing. Thanks for your help!
Things I tried to get it to work:
- pip install pyaudio
- asked Replit AI for help (followed all the suggestions, and we couldn’t get it to work)
- asked ChatGPT4 for help (followed all the suggestions, and we couldn’t get it to work)
- tried two different browsers, just to be sure:
- Google Chrome Version 123.0.6312.124 (Official Build) (64-bit)
- Microsoft Edge Version 124.0.2478.51 (Official build) (64-bit)
- wanted to try adding portaudio manually, but wasn’t sure how
Expected behavior
I would like to be able to install pyaudio (so I can use the speech recognition package to get user input from a microphone).
Here’s the link to a fresh page where I was able to replicate the problem after opening up a new Python repl: https://replit.com/@ErikaWang1/Test
Hopefully (or not hopefully??) you will be able to reproduce it?
Actual behavior
Here is what showed up in the console after the install didn’t complete (I tried pip wheel --use-pep517 "pyaudio (==0.2.14)"
, like it recommends at the end and got a whole other error message in the shell :o)
--> poetry add 'PyAudio ==0.2.14'
Updating dependencies
Resolving dependencies...
Package operations: 1 install, 0 updates, 0 removals
• Installing pyaudio (0.2.14)
ChefBuildError
Backend subprocess exited when trying to invoke build_wheel
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-cpython-310
creating build/lib.linux-x86_64-cpython-310/pyaudio
copying src/pyaudio/__init__.py -> build/lib.linux-x86_64-cpython-310/pyaudio
running build_ext
building 'pyaudio._portaudio' extension
creating build/temp.linux-x86_64-cpython-310
creating build/temp.linux-x86_64-cpython-310/src
creating build/temp.linux-x86_64-cpython-310/src/pyaudio
gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -I/nix/store/9109gq5pbiizq4jf8qcyrdxcc15chcr5-libxcrypt-4.4.36/include -fPIC -I/usr/local/include -I/usr/include -I/tmp/tmpuqiduncp/.venv/include -I/nix/store/1gc9wvzsy15pclrqfspii166p52lmh5i-python3-3.10.13/include/python3.10 -c src/pyaudio/device_api.c -o build/temp.linux-x86_64-cpython-310/src/pyaudio/device_api.o
src/pyaudio/device_api.c:9:10: fatal error: portaudio.h: No such file or directory
9 | #include "portaudio.h"
| ^~~~~~~~~~~~~
compilation terminated.
error: command '/nix/store/lpmc13klbgrfbc87ahf14rhv6y78chxz-replit-runtime-path/bin/gcc' failed with exit code 1
at /nix/store/kl8q9n461fq93wvsxi7lrm3if9diax6l-poetry-in-venv/env/lib/python3.10/site-packages/poetry/installation/chef.py:147 in _prepare
143│
144│ error = ChefBuildError("\n\n".join(message_parts))
145│
146│ if error is not None:
→ 147│ raise error from None
148│
149│ return path
150│
151│ def _prepare_sdist(self, archive: Path, destination: Path | None = None) -> Path:
Note: This error originates from the build backend, and is likely not a problem with poetry but with pyaudio (0.2.14) not supporting PEP 517 builds. You can verify this by running 'pip wheel --use-pep517 "pyaudio (==0.2.14)"'.
exit status 1
Steps to reproduce
- Create a new Python REPL
- Click on Packages
- Search for ‘pyaudio’
- Click ‘install’ for PyAudio@0.2.14 (Cross-platform audio I/O with PortAudio)
Browser
Chrome
OS
Windows 11 Home
Device if mobile
N/A
Plan
Core membership