python - पायथन पर "पीआईपी" के साथ psycopg2 कैसे स्थापित करें?




virtualenv pip (18)

CentOS पर, आपको पोस्टग्रेज़ देव पैकेज की आवश्यकता है:

sudo yum install python-devel postgresql-devel

यह कम से कम CentOS 6 पर समाधान था।

मैं virtualenv का उपयोग कर रहा हूं और मुझे "psycopg2" इंस्टॉल करने की आवश्यकता है।

मैंने निम्नलिखित किया है:

pip install http://pypi.python.org/packages/source/p/psycopg2/psycopg2-2.4.tar.gz#md5=24f4368e2cfdc1a2b03282ddda814160

और मेरे पास निम्न संदेश हैं:

Downloading/unpacking http://pypi.python.org/packages/source/p/psycopg2/psycopg2
-2.4.tar.gz#md5=24f4368e2cfdc1a2b03282ddda814160
  Downloading psycopg2-2.4.tar.gz (607Kb): 607Kb downloaded
  Running setup.py egg_info for package from http://pypi.python.org/packages/sou
rce/p/psycopg2/psycopg2-2.4.tar.gz#md5=24f4368e2cfdc1a2b03282ddda814160
    Error: pg_config executable not found.

    Please add the directory containing pg_config to the PATH
    or specify the full executable path with the option:

        python setup.py build_ext --pg-config /path/to/pg_config build ...

    or with the pg_config option in 'setup.cfg'.
    Complete output from command python setup.py egg_info:
    running egg_info

creating pip-egg-info\psycopg2.egg-info

writing pip-egg-info\psycopg2.egg-info\PKG-INFO

writing top-level names to pip-egg-info\psycopg2.egg-info\top_level.txt

writing dependency_links to pip-egg-info\psycopg2.egg-info\dependency_links.txt

writing manifest file 'pip-egg-info\psycopg2.egg-info\SOURCES.txt'

warning: manifest_maker: standard file '-c' not found

Error: pg_config executable not found.



Please add the directory containing pg_config to the PATH

or specify the full executable path with the option:



    python setup.py build_ext --pg-config /path/to/pg_config build ...



or with the pg_config option in 'setup.cfg'.

----------------------------------------
Command python setup.py egg_info failed with error code 1
Storing complete log in C:\Documents and Settings\anlopes\Application Data\pip\p
ip.log

मेरा सवाल है, मुझे psycopg2 काम करने के लिए केवल ऐसा करने की ज़रूरत है?

python setup.py build_ext --pg-config /path/to/pg_config build ...

Postgres.app संस्करण 9.3.2.0 आरसी 2 के साथ मैक मैवरिक्स पर मुझे पोस्टग्रेर्स इंस्टॉल करने के बाद निम्न कोड का उपयोग करने की आवश्यकता है:

sudo PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin pip install psycopg2


अब तक के जवाब जादू व्यंजनों की तरह बहुत अधिक हैं। आपको मिली त्रुटि आपको बताती है कि पीपी को PostgreSQL क्वेरी लाइब्रेरी का एक आवश्यक हिस्सा नहीं मिल सकता है। संभवतः ऐसा इसलिए है क्योंकि आपने इसे अपने ओएस के लिए एक गैर मानक स्थान में स्थापित किया है, यही कारण है कि संदेश --pg-config विकल्प का उपयोग करने का सुझाव देता है।

लेकिन एक आम कारण यह है कि आपके पास libpq बिल्कुल स्थापित नहीं है। यह आमतौर पर उन मशीनों पर होता है जहां आपके पास PostgreSQL सर्वर स्थापित नहीं है क्योंकि आप केवल क्लाइंट ऐप्स को चलाने के लिए चाहते हैं, न कि सर्वर स्वयं। प्रत्येक ओएस / distro अलग है, उदाहरण के लिए डेबियन / उबंटू पर आपको libpq-dev स्थापित करने की आवश्यकता है। यह आपको PostgreSQL क्वेरी लाइब्रेरी के विरुद्ध कोड संकलित और लिंक करने की अनुमति देता है।

अधिकांश उत्तर एक पायथन देव पुस्तकालय स्थापित करने का भी सुझाव देते हैं। सावधान रहे। यदि आप केवल अपने डिस्ट्रो द्वारा स्थापित डिफ़ॉल्ट पायथन का उपयोग कर रहे हैं, तो यह काम करेगा, लेकिन यदि आपके पास एक नया संस्करण है, तो इससे समस्याएं पैदा हो सकती हैं। यदि आपने इस मशीन पर पायथन बनाया है तो आपके पास पाइथन के साथ इंटरफेस करने के लिए सी / सी ++ पुस्तकालयों को संकलित करने के लिए पहले से ही देव पुस्तकालयों की आवश्यकता है। जब तक आप सही पाइप संस्करण का उपयोग कर रहे हों, तब तक एक ही बिन फ़ोल्डर में पाइथन बाइनरी के रूप में स्थापित किया गया है, तो आप सभी सेट हैं। पुराने संस्करण को स्थापित करने की आवश्यकता नहीं है।


आवश्यक पैकेज स्थापित करने के अलावा, मुझे PATH में PostgreSQL bin निर्देशिका मैन्युअल रूप से जोड़ने की भी आवश्यकता है।
$vi ~/.bash_profile
export PATH से पहले PATH=/usr/pgsql-9.2/bin:$PATH export PATH
$source ~/.bash_profile
$pip install psycopg2


ओएसएक्स 10.11.6 (एल कैपिटन) पर

brew install postgresql
PATH=$PATH:/Library/PostgreSQL/9.4/bin pip install psycopg2

ओपनएसयूएसई 13.2 पर, यह तय किया गया:

sudo zypper in postgresql-devel 

पायथन 3 के लिए आपको sudo apt-get install libpq-dev python3-dev तहत sudo apt-get install libpq-dev python3-dev लिए sudo apt-get install libpq-dev python3-dev उपयोग करना चाहिए।


फेडोरा 24 पर: पायथन 3.x के लिए

sudo dnf install postgresql-devel python3-devel

sudo dnf install redhat-rpm-config

अपने वर्चुअल एनवायरनमेंट को सक्रिय करें:

pip install psycopg2

मैं इसे विंडोज मशीन में स्थापित कर सकता हूं और निम्न आदेशों के माध्यम से पायथन 2.7 के साथ एनाकोंडा / स्पाइडर का उपयोग कर सकता हूं:

 !pip install psycopg2

फिर डेटाबेस से कनेक्शन स्थापित करने के लिए:

 import psycopg2
 conn = psycopg2.connect(dbname='dbname',host='host_name',port='port_number', user='user_name', password='password')

मैंने इस पोस्ट को इस समस्या के लिनक्स समाधान की खोज में पाया।

"गोशाक" द्वारा इस पोस्ट ने मुझे समाधान दिया: अगर आप उबंटू / डेबियन पर हैं तो sudo apt-get install libpq-dev python-dev

अद्यतन करें

चूंकि अधिक लोगों ने यह उत्तर उपयोगी पाया है और अपने स्वयं के समाधान पोस्ट किए हैं, यहां उनकी एक सूची है:

Debian / Ubuntu

पायथन 2

sudo apt install libpq-dev python-dev

पायथन 3

sudo apt install libpq-dev python3-dev

अतिरिक्त

यदि उपरोक्त में से कोई भी आपकी समस्या का समाधान नहीं करता है, तो कोशिश करें

sudo apt install build-essential

या

sudo apt install postgresql-server-dev-all

मैंने पीजी की डाउनलोड साइट http://www.postgresql.org/download/linux/redhat/ पर RedHat / CentOS रिपोजिटरी का उपयोग करके Postgresql92 स्थापित किया

Pg_config प्राप्त करने के लिए, मुझे PATH में /usr/pgsql-9.2/bin जोड़ना पड़ा।


मैंने हाल ही में विंडोज मशीन पर psycopg2 को कॉन्फ़िगर किया है। सबसे आसान इंस्टॉल विंडोज निष्पादन योग्य बाइनरी का उपयोग कर रहा है। आप इसे http://stickpeople.com/projects/python/win-psycopg/ पर पा सकते हैं।

आभासी envrionment में देशी बाइनरी स्थापित करने के लिए, easy_install का उपयोग करें:

C:\virtualenv\Scripts\> activate.bat
(virtualenv) C:\virtualenv\Scripts\> easy_install psycopg2-2.5.win32-py2.7-pg9.2.4-release.exe

यदि आप मैक ओएस का उपयोग कर रहे हैं, तो आपको स्रोत से PostgreSQL इंस्टॉल करना चाहिए। स्थापना समाप्त होने के बाद, आपको इस पथ को उपयोग करने की आवश्यकता है:

export PATH=/local/pgsql/bin:$PATH

या आप इस तरह के पथ को जोड़ सकते हैं:

export PATH=.../:usr/local/pgsql/bin

आपकी .profile फ़ाइल या .zshrc फ़ाइल में।

यह ऑपरेटिंग सिस्टम द्वारा भिन्न हो सकता है।

आप http://www.thegeekstuff.com/2009/04/linux-postgresql-install-and-configure-from-source/ से स्थापना प्रक्रिया का पालन कर सकते हैं


यदि आप मैक पर हैं तो आप होमब्रू का उपयोग कर सकते हैं

brew install postgresql

और अन्य सभी विकल्प यहां हैं: http://www.postgresql.org/download/macosx/

सौभाग्य


यह मेरे लिए काम करता है (आरएचईएल, सेंटोस पर:

sudo yum install postgresql postgresql-devel python-devel

और अब अपने पोस्टग्रेस्क्ल बाइनरी डायर के पथ को पाइप इंस्टॉल के साथ शामिल करें:

sudo PATH=$PATH:/usr/pgsql-9.3/bin/ pip install psycopg2

सही पथ शामिल करना सुनिश्चित करें। बस इतना ही :)

अद्यतन: पायथन 3 के लिए, कृपया python-devel python3-devel बजाय python3-devel इंस्टॉल करें


विंडोज एक्सपी पर आपको यह त्रुटि मिलती है अगर पोस्टग्रेर्स स्थापित नहीं है ...


Gentoo में इसे आज़माएं:

emerge dev-libs/libpqxx

आर्क बेस वितरण में:

sudo pacman -S python-psycopg2
pip2 install psycopg2  # Use pip or pip3 to python3




pip