belangeo / pyo

Python DSP module
GNU Lesser General Public License v3.0
1.28k stars 130 forks source link

portaudio error on pip install #265

Open zseramnay opened 1 year ago

zseramnay commented 1 year ago

I'm installing with pip from the anaconda terminal.

Best

Yan


creating build/temp.macosx-10.9-x86_64-cpython-39/src/objects clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /Users/yanmaresz/opt/anaconda3/include -arch x86_64 -I/Users/yanmaresz/opt/anaconda3/include -fPIC -O2 -isystem /Users/yanmaresz/opt/anaconda3/include -arch x86_64 -DUSE_PORTAUDIO -DUSE_PORTMIDI -DUSE_OSC -Iinclude -I/usr/local/Cellar/liblo/0.31/include -I/usr/local/Cellar/libsndfile/1.2.0/include -I/usr/local/Cellar/portaudio/19.7.0/include -I/usr/local/Cellar/portmidi/2.0.4/include -I/Users/yanmaresz/opt/anaconda3/include/python3.9 -c src/engine/ad_portaudio.c -o build/temp.macosx-10.9-x86_64-cpython-39/src/engine/ad_portaudio.o -Wno-strict-prototypes -Wno-strict-aliasing -O3 -g0 -DNDEBUG In file included from src/engine/ad_portaudio.c:21: include/ad_portaudio.h:25:10: fatal error: 'portaudio.h' file not found

include "portaudio.h"

           ^~~~~~~~~~~~~
  1 error generated.
  error: command '/usr/bin/clang' failed with exit code 1
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. error: legacy-install-failure

× Encountered error while trying to install package. ╰─> pyo

note: This is an issue with the package mentioned above, not pip. hint: See above for output from the failure.

zseramnay commented 1 year ago

I have : /usr/local/include/portaudio.h /usr/local/Cellar/portaudio/19.7.0/include/portaudio.h

did : export LIBRARY_PATH="/opt/homebrew/lib:$LIBRARY_PATH" export CPATH="/opt/homebrew/include:$CPATH"

and still not able to install pyo. Yan

scfleming commented 10 months ago

Had same issue on M1 Mac. Got this to work with normal pip install:

Edit your shell of choice with the following:

(if using bash, use export CFLAGS= syntax instead...) setenv CFLAGS '-I/opt/homebrew/include/' setenv LDFLAGS '-L/opt/homebrew/lib/'

Make sure you install portaduio using brew, as you've done already. I then got pip install pyo to install successfully since it will now compile the needed libraries looking in /opt/homebrew/ instead of /usr/local/

Hope this helps...