Pour tous ceux qui recherchent une solution à ce problème sur macOS Sierra 10.12 (ou une version ultérieure, très probablement) :j'ai résolu ce problème en installant les outils de ligne de commande :
xcode-select --install
Après cela, pip install psycopg2
devrait fonctionner.
Si ce n'est pas le cas, vous pouvez également essayer de créer un lien avec l'openssl de brew :
env LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip install psycopg2
avec openssl installé via brew. Notez que le brew link openssl --force
ne fonctionne plus :
$ 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
Comme @macho le souligne ci-dessous, si cela ne fonctionne toujours pas, vous devrez peut-être utiliser le --no-cache
option de pip, par exemple
env LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip --no-cache install psycopg2
N'oubliez pas d'ajuster ces chemins en conséquence si vous construisez par exemple sur des Mac ARM/Apple M1 (comme homebrew est installé à /opt/homebrew/
); commande comme suit :
env LDFLAGS="-I/opt/homebrew/opt/openssl/include -L/opt/homebrew/opt/openssl/lib" pip --no-cache install psycopg2