सवाल मैक ओएस (योसामेट) पर psycopg2 का उपयोग करने में समस्याएं


वर्तमान में मैं पाइथन के साथ ग्रहण के भीतर काम के लिए psycopg2 स्थापित कर रहा हूँ।

मुझे बहुत सारी समस्याएं मिल रही हैं:

  1. पहली समस्या sudo pip3.4 install psycopg2 काम नहीं कर रहा है और यह निम्नलिखित संदेश दिखा रहा है

त्रुटि: pg_config निष्पादन योग्य नहीं मिला।

के साथ फिक्स्ड:export PATH=/Library/PostgreSQL/9.4/bin/:"$PATH”

  1. जब मैं अपनी परियोजना में psycopg2 आयात करता हूं मैं obtein:

ImportError:   dlopen (/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/psycopg2/_psycopg.so   लाइब्रेरी libssl.1.0.0.dylib   लाइब्रेरी libcrypto.1.0.0.dylib

के साथ फिक्स्ड: sudo ln -s /Library/PostgreSQL/9.4/lib/libssl.1.0.0.dylib /usr/lib sudo ln -s /Library/PostgreSQL/9.4/lib/libcrypto.1.0.0.dylib /usr/lib

  1. अब मैं प्राप्त कर रहा हूं:

ImportError:   dlopen (/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/psycopg2/_psycopg.so,   2): प्रतीक नहीं मिला: _lo_lseek64 से संदर्भित:   /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/psycopg2/_psycopg.so   में अपेक्षित: /usr/lib/libpq.5.dylib में   /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/psycopg2/_psycopg.so

क्या आप मेरी मदद कर सकते हैं?


44
2018-02-14 13:12


मूल




जवाब:


आपको /usr/lib/libpq.5.dylib लाइब्रेरी को प्रतिस्थापित करने की आवश्यकता है क्योंकि इसका संस्करण बहुत पुराना है।
इस समस्या का मेरा समाधान यहां दिया गया है:

$ sudo mv /usr/lib/libpq.5.dylib /usr/lib/libpq.5.dylib.old  
$ sudo ln -s /Library/PostgreSQL/9.4/lib/libpq.5.dylib /usr/lib

75
2018-02-19 23:22



धन्यवाद @ कुंगफूलाकी 7 मैं कोशिश करूँगा और मैं आपको कहूंगा - Benja Garrido
यह काम कर रहा है। धन्यवाद @ कुंगफूलाकी 7 !!! - Benja Garrido
यह Yosemite के उन्नयन के बाद मेरे लिए काम किया। यदि आप पोस्टग्रेज़ ऐप का उपयोग कर रहे हैं तो दूसरा कमांड होना चाहिए: sudo ln -s /Applications/Postgres.app/Contents/MacOS/lib/libpq.5.dylib / usr / lib - tarequeh
धन्यवाद! यह मेरे लिए काम किया! - Worker
आपको बहुत - बहुत धन्यवाद! - oblalex


यदि आप PostgresApp का उपयोग कर रहे हैं, तो आपको निम्न दो आदेशों को चलाने की आवश्यकता है:

sudo mv /usr/lib/libpq.5.dylib /usr/lib/libpq.5.dylib.old
sudo ln -s /Applications/Postgres.app/Contents/Versions/9.4/lib/libpq.5.dylib /usr/lib

27
2018-04-13 12:51



यह मेरे लिए काम किया। लेकिन मैं सावधानीपूर्वक आगे बढ़ रहा हूं। जिस चीज के बारे में मैं अस्पष्ट हूं, यह है कि यह मेरे सिस्टम पर अन्य ऐप्स को कैसे प्रभावित कर सकता है जो कि मेरे सिस्टम (ओएसएक्स मैवरिक्स) पर स्थापित PostgreSQL के पिछले संस्करण पर निर्भर हैं। - JayGee
यह मेरे लिए काम करता है। मेरे पास पहले पोस्टग्रेस्क्ल स्थापित था, और फिर मैंने PostgreSQL ऐप इंस्टॉल किया, वही त्रुटि आई जब मैंने पिछली स्थापना को अनइंस्टॉल किया। और यह सवाल मेरी समस्या हल करता है, यकीन नहीं क्यों, लेकिन kudos! - benjaminz


मैं yosemite, postgres.app और django का उपयोग कर रहा हूँ। यह psycopg2 मेरे लिए ठीक से लोड करने के लिए मिला लेकिन एक अंतर यह था कि मेरा libpq.5.dylib फाइल में है /Applications/Postgres.app/Contents/Versions/9.4/lib

इस प्रकार मेरी दूसरी पंक्ति थी sudo ln -s /Applications/Postgres.app/Contents/Versions/9.4/lib/libpq.5.dylib /usr/lib


4
2018-03-09 18:51



क्या आपने पुरानी लाइब्रेरी को स्थानांतरित करने के लिए पहली पंक्ति चलाई? - Benja Garrido


यहां एक फिक्स है जो एल कैपिटन पर मेरे लिए काम करता है जिसे ओएस एक्स एल कैपिटन सिस्टम इंटेग्रिटी प्रोटेक्शन (एसआईपी) के आसपास काम करने के लिए पुनरारंभ करने की आवश्यकता नहीं है:

brew unlink postgresql && brew link postgresql
brew link --overwrite postgresql

एच / टी फरहान अहमद 


3
2018-05-06 20:29



मेरे ओएस एक्स योसामेट 10.10.3 पर, मुझे एड-फोर्स करना था और - ओवरराइट की आवश्यकता नहीं थी: breg unlink postgresql94 &&ww link -force postgresql94 - Mike Lapinskas


एल कैपिटन में, मैंने @ फोर्ब्ज़ के समान समाधान का उपयोग किया लेकिन 2 और कमांड निम्नानुसार हैं।

sudo install_name_tool -change libpq.5.dylib /Library/PostgreSQL/9.3/lib/libpq.5.dylib  /Library/Python/2.7/site-packages/psycopg2/_psycopg.so
sudo install_name_tool -change libssl.1.0.0.dylib /Library/PostgreSQL/9.3/lib/libssl.1.0.0.dylib  /Library/Python/2.7/site-packages/psycopg2/_psycopg.so
sudo install_name_tool -change libcrypto.1.0.0.dylib /Library/PostgreSQL/9.3/lib/libcrypto.1.0.0.dylib  /Library/Python/2.7/site-packages/psycopg2/_psycopg.so

यह पूरी तरह से काम करता है!


1
2017-07-18 07:51





अच्छा, मैं अपना समाधान देना चाहता हूं, समस्या सी के संस्करण से संबंधित है। तो, मैंने अभी टाइप किया है:

CFLAGS='-std=c99' pip install psycopg2==2.6.1

0
2017-09-25 18:15



एल कैपिटन पर, जब मैंने psycopg2 के इस संस्करण का उपयोग किया, तो इससे मदद मिली: CFLAGS='-std=c99' pip install psycopg2==2.6 - allthesignals


एल कैपिटन पर आप में से उन लोगों के लिए जो @ कुंगफूलाकी 7 के जवाब का उपयोग नहीं कर सकते - मैंने इस मुद्दे को ठीक करने के लिए निम्नलिखित का उपयोग किया (जहां आवश्यक हो वहां मिलान करने के लिए पथ समायोजित करें)।

sudo install_name_tool -change libpq.5.dylib /Library/PostgreSQL/9.5/lib/libpq.5.dylib /usr/local/lib/python2.7/site-packages/psycopg2/_psycopg.so

0
2018-05-03 06:50