Pro každého, kdo hledá řešení na macOS Sierra 10.12 (nebo novější, s největší pravděpodobností):Opravil jsem to instalací nástrojů příkazového řádku:
xcode-select --install
Poté pip install psycopg2
by mělo fungovat.
Pokud tomu tak není, můžete také zkusit vytvořit odkaz na openssl brew:
env LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip install psycopg2
s openssl nainstalovaným přes brew. Všimněte si, že brew link openssl --force
již nefunguje:
$ 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
Jak @macho uvádí níže, pokud to stále nefunguje, možná budete muset použít --no-cache
možnost pip, např.
env LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip --no-cache install psycopg2
Nezapomeňte upravit tyto cesty podle toho, pokud například stavíte na ARM/Apple M1 Mac (protože homebrew je nainstalován na /opt/homebrew/
); příkaz takto:
env LDFLAGS="-I/opt/homebrew/opt/openssl/include -L/opt/homebrew/opt/openssl/lib" pip --no-cache install psycopg2