اذهب إلى المحتوى

السؤال

نشر

أنا أعمل على مشروع جانغو Django باستخدام virtualenv منذ عدة أيام وربطته بقاعدة بيانات postgres المحلية. لكن عندما أقوم بتشغيل المشروع على خادم Ubuntu يظهر لي الخطأ:

ImportError: No module named psycopg2.extensions

لذلك حاولت أن أقوم بتثبيت حزمة psycopg2 ولكن ظهر لي خطأ أثناء التثبيت:

warning: manifest_maker: standard file '-c' not found
Error: You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.

كيف أقوم بتثبيت حزمة psycopg2 بشكل صحيح حتى يعمل المشروع؟

Recommended Posts

  • 2
نشر

يبدو أنك لم تقم بتثبيت قواعد بيانات postgres على الخادم، لذلك يظهر لك خطأ يخبرك أنك بحاجة لتثبيت postgresql-server، ويمكنك حل هذه المشكلة عبر الأمر التالي:

sudo apt-get install -y postgresql python-psycopg2 libpq-dev python-dev postgresql-contrib

سيقوم هذا الأمر بتثبيت كل الحزم المطلوبة لكي تعمل قواعد بيانات postgres، وفي حالة اكن لديك أكثر من نسخة بايثون مثبته على الخادم، فسيكون أمر التثبيت لبايثون 3 كالتالي:

sudo apt-get install postgresql python3-psycopg2 libpq-dev postgresql-contrib

بعد ذلك تستطيع أن تقوم بتثبيت حزمة psycopg2 عبر الأمر التالي:

pip3 install psycopg2

 

  • 0
نشر (معدل)

كما أشار سامح. أويمكنك أيضاً تنفيذ الأمرين التاليين لحل المشكلة:

sudo apt-get install libpq-dev python-dev
# ثم
pip install psycopg2
# pip3 install psycopg2    $ لبايثون 3

أيضاً قد يظهر الخطأ "No module named psycopg2.extensions" عندما لايكون هناك مترجم compiler مثبت، ونحن تحتاج إلى واحد لبناء حزمة psycopg2 لذا يكون الحل:

# تثبيت الاعتماديات
sudo apt-get build-dep python-psycopg2
sudo apt install python3-psycopg2 # Python 3
#virtualenv  ثم ضمن ال 
pip install psycopg2-binary

 

تم التعديل في بواسطة Ali Haidar Ahmad

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...