За всеки, който търси решение за това на macOS Sierra 10.12 (или по-нова версия, най-вероятно):Поправих това, като инсталирах инструментите на командния ред:
xcode-select --install
След това pip install psycopg2
трябва да работи.
Ако не стане, можете също да опитате да се свържете с openssl на brew:
env LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip install psycopg2
с openssl, инсталиран чрез brew. Имайте предвид, че brew link openssl --force
вече не работи:
$ 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
Както @macho посочва по-долу, ако това все още не работи, може да се наложи да използвате --no-cache
опция за пип, напр.
env LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip --no-cache install psycopg2
Не забравяйте да коригирате съответно тези пътища, ако например надграждате на ARM/Apple M1 Macs (тъй като homebrew е инсталиран на /opt/homebrew/
); команда, както следва:
env LDFLAGS="-I/opt/homebrew/opt/openssl/include -L/opt/homebrew/opt/openssl/lib" pip --no-cache install psycopg2