त्रुटि: psycopg2.extensions नाम का कोई मॉड्यूल नहीं


86

मैं अपने django प्रोजेक्ट के लिए एक PostgreSQL डेटाबेस स्थापित करने की कोशिश कर रहा हूं, जो मुझे विश्वास है कि मैंने अब किया है मेरे अंतिम प्रश्न के उत्तर के लिए धन्यवाद django प्रोजेक्ट के लिए एक पोस्टग्रेजक्यूएल डेटाबेस स्थापित करने में समस्याएं । अब मैं अपने लोकलहोस्ट अप को पाने के लिए टर्मिनल में 'python manage.py runserver' कमांड चलाने की कोशिश कर रहा हूं, लेकिन जब मैं कमांड चलाता हूं, तो मुझे यह प्रतिक्रिया दिखाई देती है ...

Error: No module named psycopg2.extensions

मुझे यकीन नहीं है कि इसका क्या मतलब है - मैंने psycopg2 को डाउनलोड करने की कोशिश की है, लेकिन होमब्रे का उपयोग करके psycopg2 को डाउनलोड करने का कोई तरीका नहीं खोज सकता। मैंने easy_install, pip install और sudo की कोशिश की है लेकिन इस तरह से सभी वापसी त्रुटियाँ ...

Downloading http://www.psycopg.org/psycopg/tarballs/PSYCOPG-2-4/psycopg2-2.4.5.tar.gz
Processing psycopg2-2.4.5.tar.gz
Writing /tmp/easy_install-l7Qi62/psycopg2-2.4.5/setup.cfg
Running psycopg2-2.4.5/setup.py -q bdist_egg --dist-dir /tmp/easy_install-l7Qi62/psycopg2-2.4.5/egg-dist-tmp-PBP5Ds
no previously-included directories found matching 'doc/src/_build'
unable to execute gcc-4.0: No such file or directory
error: Setup script exited with error: command 'gcc-4.0' failed with exit status 1

इसे कैसे ठीक करें?


आपके पास संकलक स्थापित नहीं है, और आपको psycopg2 पैकेज बनाने के लिए एक की आवश्यकता है। यदि आप अपने ऑपरेटिंग सिस्टम के बारे में विवरण प्रदान कर सकते हैं, तो यहां के लोग संभवतः आपकी सहायता कर सकते हैं।
इयान क्लीलैंड

@IanClelland धन्यवाद इयान। मैं Mac OS X 10.6.8 पर हूं। मैं homebrew स्थापित किया है कि अगर मदद करता है।
जेस

जांचें कि आप सही वेनव से इंटरप्रेटर का उपयोग कर रहे हैं।
एलेक्स78191

जवाबों:


167

पहली बात यह है कि निर्भरता स्थापित करना है।

sudo apt-get build-dep python-psycopg2

इसके बाद अपने virtualenv के अंदर जाएं और उपयोग करें

pip install psycopg2-binary

इन दो आदेशों को समस्या को हल करना चाहिए।


7
मुझे कहना होगा कि मैं फिर से पाइप के अलावा किसी और चीज का उपयोग नहीं करूंगा, इसका बहुत अच्छा :-) :-)
हैरी

11
पायथन 3 के लिए,sudo apt-get build-dep python3-psycopg2
la269m

7
उपयुक्त के साथ निर्भरता के निर्माण की बात क्या है, फिर पाइप के साथ स्थापित करना? क्या एकल आदेश के साथ गलत है sudo apt-get install python-psycopg2? इसने मेरे लिए अच्छा काम किया।
kdbanman

2
You must put some 'source' URIs in your sources.listउपरोक्त आदेशों में से किसी को प्राप्त करते समय मिला
मोनिका

2
@ nba2020: सुडो एप्ट-गेट ...? Psycopg2-Binary के लिए ये linux (debian / mint / ubuntu) पूर्वापेक्षाएँ हैं। यदि आप विंडोज़ या ऐसी किसी चीज़ का उपयोग करते हैं, तो आपको इसके बजाय psycopg2- बाइनरी के लिए विंडो पूर्वापेक्षाएँ मिलनी चाहिए और psycopg2- बाइनरी स्थापित करने से पहले उन्हें लागू करना चाहिए। या हो सकता है (मुझे यकीन नहीं है) आप पूर्वापेक्षाओं को छोड़ सकते हैं और psycopg2- बाइनरी के बजाय psycopg2 स्थापित कर सकते हैं और यह काम कर सकता है। हालाँकि psycopg2 (without -binary) को पदावनत किया जाता है इसलिए बेहतर होगा कि आप psycopg2- बाइनरी को सही तरीके से इंस्टॉल करने का प्रयास करें।
मिरेक

26
pip install psycopg2-binary

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


यह मेरे लिए ubuntu 18.04 और अजगर 3. पर काम करता है। धन्यवाद।
डैनियल लिटिल

यह मेरे लिए काम करता है और इसके लिए किसी भी रूट अनुमति की आवश्यकता नहीं होती है
जियानपोलो

खुशी है कि यह मदद करता है। ^ _ ^
चार्ली

1
यह मुझे पर्याप्त मदद नहीं करता है। इतिहास में कहीं मैंने psycopg2 और बाद में (से: -r आवश्यकताएँ। Txt) ठीक से psycopg2- बाइनरी स्थापित किया है। सब कुछ "ठीक" काम किया। लेकिन एक बार जब मैंने psycopg2 (बिना-पाक) की स्थापना रद्द की तो मुझे "psycopg2.extensions" नाम का कोई मॉड्यूल नहीं मिला। Psycopg2- बाइनरी को अनइंस्टॉल / इंस्टॉल करना मेरी मदद नहीं करता है। मेरे लिए पूर्वापेक्षाएँ स्थापित नहीं की गईं (देखें @FernandoMunoz उत्तर: apt स्थापित बिल्ड-डिप पाइथन-साइकोपग 2)। इन डेबियन पैकेजों को स्थापित करने और बाद में (!) Psycopg2- बाइनरी ने मेरी मदद की है।
Mirek

@mirek पूरक के लिए धन्यवाद।
चार्ली Char


5

मैंने इन आदेशों का उपयोग करके इसे सफलतापूर्वक स्थापित किया है:

sudo apt-get install libpq-dev python-dev
pip install psycopg2

5

के लिए macOS Mojaveबस चलाने के pip install psycopg2-binary। मेरे लिए ठीक काम करता है, अजगर संस्करण ->Python 3.7.2


4

पहले स्थापित करें apt-get install python-setuptools

फिर कोशिश करो easy_install psycopg2


4

यदि उबंटू इंस्टॉलर से आपके अजगर को स्थापित किया गया है तो यह उबंटू में मेरी मदद करता है। मैंने 'एप-गेट इंस्टॉल' और 'पाइप इंस्टॉल' की असफल कोशिश के बाद ऐसा किया:

टर्मिनल में:

sudo synaptic

तब सिनैप्टिक सर्चफील्ड में लिखते हैं

psycopg2

चुनें

python-psycopg2

माउस राइट-क्लिक का उपयोग करके इंस्टॉलेशन के लिए इसे चिह्नित करें और 'लागू करें' पर पुश करें। बेशक, यदि आपने synaptic स्थापित नहीं किया है, तो पहले करें:

sudo apt-get install synaptic

2

अजगर 3.4 में, एक आभासी वातावरण में, सुनिश्चित करें कि आपके पास पहले से निर्भरताएं हैं:

sudo apt-get build-dep python3-psycopg2

फिर इसे स्थापित करें:

pip install psycopg2 

E: You must put some 'source' URIs in your sources.list
सेरिन


1

मैंने केवल psycopg2 आयात करने के बाद एक्सटेंशन का उपयोग किया:

import psycopg2

...

psycopg2.extensions.AsIs(anap[i])

@fp आपके उत्तर के लिए धन्यवाद। आपने psycopg2 को कैसे आयात किया? क्या आपने होमब्रे का इस्तेमाल किया? मैंने अपने टर्मिनल में 'इम्पोर्ट psycopg2' कमांड चलाने की कोशिश की है, लेकिन यह 'ImportError: No मॉड्यूल जिसका नाम psycopg2' है।
जेस

मैं उबंटु का उपयोग कर रहा हूं जहां यह संकलन के बिना स्थापित करने के लिए तैयार है .. दिखाया गया उदाहरण अजगर में है। खिड़कियों में स्थापित करने के लिए stickpeople.com/projects/python/win-psycopg पर नज़र डालें कि आप क्या चाहते हैं, इसे पहले इंस्टॉल करें।
fp

@fp धन्यवाद। मैं पर हूँ MAC - वहाँ के लिए एक समान समाधान है MAC?
जेस

@fb धन्यवाद। मैं इसे एक कोशिश दूँगा :)
जेस

1

ऐसा लगता है कि आपको आवश्यकता है gcc-4.0, और यह आपके ओएस प्रकार और संस्करण को निर्दिष्ट करने के लिए सहायक होगा।

शायद यह सवाल आपको थोड़ा मदद करेगा: Xcode स्थापित किए बिना मैक ओएस एक्स तेंदुए को जीसीसी स्थापित करना

अपडेट करें

मैं एक विंडोज उपयोगकर्ता हूं, इसलिए मैं आपके सेटअप का परीक्षण नहीं कर सकता, लेकिन एक त्वरित Google ने कुछ और लिंक की ओर इशारा किया:


धन्यवाद। मैंने GCC 10.6 डाउनलोड और इंस्टॉल किया है क्योंकि मेरा OS 10.6.8 है। मैंने तब easy_install psycopg2 चलाया, लेकिन उसने यह त्रुटि लौटा दी ... "कोई पहले से शामिल निर्देशिका नहीं मिली जो 'doc / src / _build' को gcc-4.0 निष्पादित करने में असमर्थ है: ऐसी कोई फ़ाइल या निर्देशिका त्रुटि नहीं है: सेटअप स्क्रिप्ट त्रुटि से बाहर निकली: कमांड ' gcc-4.0 'निकास स्थिति 1 के साथ विफल "। क्या आप जानते हैं कि ऐसा क्यों हो सकता है?
जेस

1

मुझे No module named psycopg2.extensionsत्रुटि का सामना करना पड़ा जब pip2 install psycopg2एक मैक पर चलने की कोशिश कर रहा Mavericks (10.9)। मुझे नहीं लगता कि मेरे स्टैक ट्रेस में gcc के बारे में कोई संदेश शामिल है, और इसमें एक संकेत भी शामिल है:

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'.

मैंने pg_configअपने पोस्टग्रेज इंस्टॉल में फ़ाइल की तलाश की और फ़ोल्डर को अपने पथ पर जोड़ा /Applications/Postgres.app/Contents/Versions/9.4/bin:। आपका रास्ता अलग हो सकता है, खासकर यदि आपके पास पोस्टग्रेज का एक अलग संस्करण स्थापित है - मैं बस चारों ओर प्रहार करूंगा जब तक आप bin/फ़ोल्डर नहीं ढूंढते। ऐसा करने के बाद, स्थापना ने काम किया।


1

इसे आज़माएँ:
sudo pip install -i https://testpypi.python.org/pypi psycopg2 == 2.7b2
.. यह विशेष रूप से तब सहायक होता है जब आप अंडे की गलती से भाग रहे हों

यदि आप gcc त्रुटि में भाग लेते हैं, तो Ec2 उदाहरणों पर; इसे आज़माएं
1. sudo yum install gcc python-setuptools python-devel postgresql-devel
2. sudo su -
3. sudo pip install psycopg2



1

अजगर स्क्रिप्ट को सूडो के रूप में चलाने की कोशिश करते समय मुझे ऐसी समस्या हुई, जबकि psycopg2 को मेरे अपने उपयोगकर्ता की निर्देशिका में pip3 के माध्यम से स्थापित किया गया था।

मैं अपने लिए pip3 संस्करण को हटाने के लिए इस मुद्दे को हल करने में कामयाब रहा, और केवल इसे उपयुक्त तरीके से स्थापित करना:

pip3 uninstall psycopg2
sudo apt install python3-psycopg2


0

जांचें कि क्या आपने psycopg2 स्थापित किया है यदि नहीं

sudo apt-get install psycopg2

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

sudo apt-get build-dep python-psycopg2

इन दो आदेशों को समस्या को हल करना चाहिए।


0
pip3 install django-psycopg2-extension

मुझे पता है कि मुझे देर हो गई है और यहाँ बहुत सारे उत्तर हैं जो समस्या को हल करता है। लेकिन आज मैंने भी इस समस्या का सामना किया और इसमें से कोई भी मेरी मदद नहीं करता है। तब मुझे उपरोक्त जादुई कमान मिली, जो मेरी समस्या को हल करती है :-P इसलिए मैं इसे पोस्ट कर रहा हूं क्योंकि यह आपके लिए भी मामला हो सकता है।
खुश कोडिंग।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.