ImportError: Psycopg2 नाम का कोई मॉड्यूल नहीं


83

OpenERP 6 की प्रक्रिया को स्थापित करते समय, मैं इस कमांड के साथ एक विन्यास फाइल बनाना चाहता हूं,

cd / home / openerp / openerp-server / bin /

./openerp-server.py -s --stop-after-init -c /home/openerp/openerp-server.cfg

लेकिन यह हमेशा एक संदेश दिखाया गया था

ImportError: No module named psycopg2

जब मैं psycopg2 पैकेज की जांच करता हूं, तो यह पहले से ही स्थापित है,

पैकेज python-psycopg2-2.4.5-1.rhel5.x86_64पहले से ही स्थापित और नवीनतम संस्करण

कुछ करने को नहीं है

इसमें गलत क्या है?

मेरा सर्वर CentOS है, मैंने अजगर 2.6.7 स्थापित किया है।


25
आपको अपने कुछ अन्य प्रश्नों पर कुछ उत्तरों को स्वीकार करने की आवश्यकता है।
जॉन लियोन

2
पैकेज python2.4 के लिए स्थापित होता है। यदि आपने मैन्युअल रूप से 2.6 स्थापित किया है, तो आपको 2.6 के लिए अन्य सभी पैकेज भी स्थापित करने होंगे।
कीथ

अजगर सिस्टम पथ की पुष्टि करने के लिए कृपया निम्न कमांड निष्पादित करें। $ python -c 'import sys; print sys.path'
ताइजो इटो

क्या आप कृपया import psycopg2अजगर सांत्वना पर प्रयास करेंगे ?
नीलेश

अगर आपको जवाब मिल गया है तो उत्तर का चयन करें।
निलेश

जवाबों:


106

चरण 1: निर्भरता स्थापित करें

sudo apt-get install build-dep python-psycopg2

चरण 2: इस आदेश को अपने virtualenv में चलाएं

pip install psycopg2 

रेफरी: फर्नांडो मुनोज़


2
मेरे लिए अच्छा काम किया। धन्यवाद!
MRocklin

1
मुझे भागना पड़ा easy_install psycopg2, लेकिन आपके सवाल ने मुझे वहाँ पहुँचा दिया!
जेकेकेल्ले

8
पायथन 3 उपयोगकर्ताओं के लिए: स्थापित करेंlibpq-dev postgresql
alekwisnia

5
build-depsudo apt-get install python-psycopg2
कुबंटु

4
ubuntu 16.04 में यह दिखाता है कि ई: पैकेज बिल्ड-डिप का पता लगाने में असमर्थ
हारून-उर-राशिद

44

मैंने उसी मुद्दे का सामना किया और निम्नलिखित आदेशों के साथ इसे हल किया:

sudo apt-get install libpq-dev
pip install psycopg2

यह त्रुटि संदेश है You need to install postgresql-server-dev-X.Y ...जो मुझे चलाने के बाद मिला sudo apt-get install build-dep python-psycopg2(यहां तक ​​कि मुझे लगा कि पोस्टग्रैक्स्ल पहले से ही स्थापित है)।
वेबेलो

37

उपयोग psycopg2-द्विआधारी के बजाय psycopg2

pip install psycopg2-binary

या आपको नीचे दी गई चेतावनी मिलेगी:

UserWarning: psycopg2 व्हील पैकेज का नाम बदला जाएगा 2.8 रिलीज से; बाइनरी से स्थापित रखने के लिए कृपया इसके बजाय "पाइप स्थापित psycopg2- बाइनरी" का उपयोग करें। जानकारी के लिए देखें: http://initd.org/psycopg/docs/install.html#binary-install-from-pypi

संदर्भ: Psycopg 2.7.4 जारी | मानस


16

स्थापित करने का प्रयास करें

मानस 2-बाइनरी

साथ में pip install psycopg2-binary --user


यह एकमात्र उत्तर है जिसने मेरे साथ काम किया python 3.7.3औरdjango 3.0.2
ब्रायन जोसेफ

2
के लिए क्या है?
मुहम्मद इनाम मुनीर

1
@MuhammadInaamMunir --user : Install to the Python user install directory for your platform. Typically ~/.local/, or %APPDATA%\Python on Windows.आप अधिक जानकारी का उपयोग करके जाँच कर सकते हैं pip install --help
fendiSetiawan

12

कृपया import psycopg2अजगर कंसोल पर कमांड चलाने का प्रयास करें । यदि आपको त्रुटि मिलती है, तो sys.pathइंस्टॉल मॉड्यूल के लिए अजगर कहां देखें। यदि माता-पिता की निर्देशिका python-psycopg2-2.4.5-1.rhel5.x86_64वहां है sys.pathया नहीं। यदि यह sys.pathतब export PYTHONPATH=<parent directory of python-psycopg2-2.4.5-1.rhel5.x86_64>ओपनर सर्वर चलाने से पहले नहीं चलता है।


9

इनके साथ प्रयास करें:

virtualenv -p /usr/bin/python3 test_env
source test_env/bin/activate
pip install psycopg2

अजगर को चलाने और आयात करने की कोशिश करें यदि आप इसे अपने सिस्टम पर स्थापित करने के लिए जोर देते हैं तो अजगर कोशिश करें:

pip3 install psycopg2

3

आपको psycopg2मॉड्यूल स्थापित करने की आवश्यकता है ।

CentOS पर: सुनिश्चित करें कि पायथन 2.7+ स्थापित है। यदि नहीं, तो इन निर्देशों का पालन करें: http://toomuchdata.com/2014/02/16/how-to-install-python-on-centos/

# Python 2.7.6:
$ wget http://python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz
$ tar xf Python-2.7.6.tar.xz
$ cd Python-2.7.6
$ ./configure --prefix=/usr/local --enable-unicode=ucs4 --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib"
$ make && make altinstall
$ yum install postgresql-libs

# First get the setup script for Setuptools:
$ wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py

# Then install it for Python 2.7 and/or Python 3.3:
$ python2.7 ez_setup.py

$ easy_install-2.7 psycopg2

भले ही यह एक CentOS सवाल है, यहाँ उबंटू के लिए निर्देश हैं:

$ sudo apt-get install python3-pip python-distribute python-dev
$ easy_install psycopg2

उद्धृत: http://initd.org/psycopg/install/


हम्म हो रहीez_setup.py is deprecated and when using it setuptools will be pinned to 33.1.1
आर्थर

3

हाल ही में मेरे उत्पादन सर्वर पर इस मुद्दे का सामना किया। मैंने pyscopg2 का उपयोग करके स्थापित किया था

sudo pip install psycopg2

यह मेरे स्थानीय पर खूबसूरती से काम करता है, लेकिन मेरे पास मेरे ec2 सर्वर पर एक रन के लिए था।

sudo python -m pip install psycopg2

उपरोक्त कमांड ने मेरे लिए वहां काम किया। यहाँ सिर्फ इस मामले में पोस्ट करने से भविष्य में किसी को मदद मिलेगी।


2

मैं एक ही समस्या है, लेकिन अकेले स्निपेट के इस टुकड़े ने मेरी समस्या हल कर दी।

pip install psycopg2


1

सही ढंग से जांचें कि क्या आपके पास अपने peoject का वर्चुअल एनवी है, अगर यह बंद है तो इसे चालू करें। कैममांड के बाद अमल करें:

workon <your_env_name>
python manage.py runserver

यह मेरे लिए काम कर रहा है


1

मुझे इस समस्या का सामना करना पड़ा और इस मुद्दे को हल करने के लिए लगभग एक दिन बर्बाद करना पड़ा। मैंने 2 चीजें की हैं 1- 3.8 के बजाय पायथन 3.6 का उपयोग करें 2- django 2.2 संस्करण बदलें (हो सकता है कि कुछ उच्च काम कर रहा हो, लेकिन मैं 2.2 में बदल जाता हूं)

अब इसका काम ठीक है


1

जब मैं विंडोज़ 10 से उबंटू पर स्विच करता हूं तो उसी मुद्दे पर चलता हूं। निम्नलिखित ने मेरे लिए काम किया है। यह गॉगलिंग के बाद और 2 घंटे के लिए कई सुझावों की कोशिश कर रहा है ...

sudo apt-get install libpq-dev, then pip3 install psycopg2

मुझे आशा है कि यह किसी ऐसे व्यक्ति की मदद करता है जो विशेष रूप से विंडोज़ ओएस के लिए लिनक्स (ubuntu) पर स्विच करते समय एक ही समस्या का सामना कर चुका है।



0

Ubuntu पर python3 के लिए, इसने मेरे लिए काम किया:

$sudo apt-get update
$sudo apt-get install libpq-dev
$sudo pip3 install psycopg2-binary
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.