macOS सिएरा 10.12 (या बाद में, सबसे अधिक संभावना) पर इसके लिए एक समाधान की तलाश में किसी के लिए भी:मैंने इसे कमांड लाइन टूल्स स्थापित करके तय किया है:
xcode-select --install
उसके बाद, pip install psycopg2
काम करना चाहिए।
यदि ऐसा नहीं होता है, तो आप brew's openssl:
. के विरुद्ध लिंक करने का भी प्रयास कर सकते हैंenv LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip install psycopg2
ओपनसेल के साथ काढ़ा के माध्यम से स्थापित किया गया। ध्यान दें कि 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 Mac पर निर्माण करते हैं तो इन पथों को तदनुसार समायोजित करना याद रखें (क्योंकि होमब्रे /opt/homebrew/
पर स्थापित है। ); आदेश इस प्रकार है:
env LDFLAGS="-I/opt/homebrew/opt/openssl/include -L/opt/homebrew/opt/openssl/lib" pip --no-cache install psycopg2