Für alle, die nach einer Lösung dafür unter macOS Sierra 10.12 (oder höher, höchstwahrscheinlich) suchen:Ich habe dies behoben, indem ich die Befehlszeilen-Tools installiert habe:
xcode-select --install
Danach pip install psycopg2
sollte funktionieren.
Wenn dies nicht der Fall ist, können Sie auch versuchen, auf Brews Openssl zu verlinken:
env LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip install psycopg2
mit openssl über brew installiert. Beachten Sie, dass der brew link openssl --force
funktioniert nicht mehr:
$ 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
Wie @macho unten darauf hinweist, wenn dies immer noch nicht funktioniert, müssen Sie möglicherweise den --no-cache
verwenden Option von Pip, z. B.
env LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip --no-cache install psycopg2
Denken Sie daran, diese Pfade entsprechend anzupassen, wenn Sie beispielsweise auf ARM/Apple M1 Macs bauen (da Homebrew unter /opt/homebrew/
installiert ist ); Befehl wie folgt:
env LDFLAGS="-I/opt/homebrew/opt/openssl/include -L/opt/homebrew/opt/openssl/lib" pip --no-cache install psycopg2