Voor iedereen die hier een oplossing voor zoekt op macOS Sierra 10.12 (of later, hoogstwaarschijnlijk):ik heb dit opgelost door de opdrachtregelprogramma's te installeren:
xcode-select --install
Daarna pip install psycopg2
zou moeten werken.
Als dit niet het geval is, kunt u ook proberen te linken naar de openssl van brew:
env LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip install psycopg2
met openssl geïnstalleerd via brew. Merk op dat de brew link openssl --force
werkt niet meer:
$ 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
Zoals @macho hieronder aangeeft, als dit nog steeds niet werkt, moet u mogelijk de --no-cache
gebruiken optie van pip, bijv.
env LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip --no-cache install psycopg2
Denk eraan om deze paden dienovereenkomstig aan te passen als u bijvoorbeeld op ARM/Apple M1 Macs bouwt (omdat homebrew is geïnstalleerd op /opt/homebrew/
); commando als volgt:
env LDFLAGS="-I/opt/homebrew/opt/openssl/include -L/opt/homebrew/opt/openssl/lib" pip --no-cache install psycopg2