För alla som letar efter en lösning för detta på macOS Sierra 10.12 (eller senare, troligen):Jag fixade detta genom att installera kommandoradsverktygen:
xcode-select --install
Efter det, pip install psycopg2
borde fungera.
Om det inte gör det kan du också försöka länka mot brews openssl:
env LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip install psycopg2
med openssl installerad via brew. Observera att brew link openssl --force
fungerar inte längre:
$ brew link openssl --force 17.5s
Warning: Refusing to link: openssl
Linking keg-only openssl means you may end up linking against the insecure,
deprecated system OpenSSL while using the headers from Homebrew's openssl.
Instead, pass the full include/library paths to your compiler e.g.:
-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib
Som @macho påpekar nedan om detta fortfarande inte fungerar, kan du behöva använda --no-cache
alternativ för pip, t.ex.
env LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip --no-cache install psycopg2
Kom ihåg att justera dessa vägar i enlighet med detta om du till exempel skulle bygga på ARM/Apple M1 Mac-datorer (eftersom homebrew är installerat på /opt/homebrew/
); kommando enligt följande:
env LDFLAGS="-I/opt/homebrew/opt/openssl/include -L/opt/homebrew/opt/openssl/lib" pip --no-cache install psycopg2