Bagi siapa pun yang mencari solusi untuk ini di macOS Sierra 10.12 (atau lebih baru, kemungkinan besar):Saya memperbaikinya dengan menginstal alat baris perintah:
xcode-select --install
Setelah itu, pip install psycopg2
harus bekerja.
Jika tidak, Anda juga dapat mencoba menautkan ke brew's openssl:
env LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip install psycopg2
dengan openssl diinstal melalui minuman. Perhatikan bahwa brew link openssl --force
tidak berfungsi lagi:
$ 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
Seperti yang ditunjukkan @macho di bawah jika ini masih tidak berhasil, Anda mungkin perlu menggunakan --no-cache
pilihan pip, mis.
env LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip --no-cache install psycopg2
Ingatlah untuk menyesuaikan jalur ini jika Anda misalnya membangun di ARM/Apple M1 Mac (karena homebrew diinstal di /opt/homebrew/
); perintah sebagai berikut:
env LDFLAGS="-I/opt/homebrew/opt/openssl/include -L/opt/homebrew/opt/openssl/lib" pip --no-cache install psycopg2