ImportError: Kein Modul namens psycopg2


79

Bei der Installation von OpenERP 6 möchte ich mit diesem Befehl eine Konfigurationsdatei generieren.

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

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

Aber es wurde immer eine Nachricht gezeigt

ImportError: No module named psycopg2

Wenn ich nach dem Psycopg2-Paket suche, ist es bereits installiert.

Paket python-psycopg2-2.4.5-1.rhel5.x86_64bereits installiert und neueste Version

Nichts zu tun

Was ist daran falsch?

Mein Server ist CentOS, ich habe Python 2.6.7 installiert.


24
Sie müssen einige Antworten auf einige Ihrer anderen Fragen akzeptieren.
John Lyon

2
Das Paket wird für python2.4 installiert. Wenn Sie 2.6 manuell installiert haben, müssen Sie auch alle anderen Pakete für 2.6 installieren.
Keith

Führen Sie den folgenden Befehl aus, um den Pfad des Python-Systems zu bestätigen. $ python -c 'import sys; print sys.path'
Taizo Ito

Versuchen Sie es bitte import psycopg2auf der Python-Konsole.
Nilesh

Wenn Sie die Antwort erhalten haben, wählen Sie die Antwort aus.
Nilesh

Antworten:


101

Schritt 1: Installieren Sie die Abhängigkeiten

sudo apt-get install build-dep python-psycopg2

Schritt 2: Führen Sie diesen Befehl in Ihrer virtuellen Umgebung aus

pip install psycopg2 

Ref: Fernando Munoz


2
Hat gut für mich funktioniert. Vielen Dank!
MRocklin

1
Ich musste rennen easy_install psycopg2, aber deine Frage führte mich dorthin!
JcKelley

7
Für Python3-Benutzer: installlibpq-dev postgresql
alekwisnia

5
Auf Kubuntu 16.04 build-depOption funktioniert nicht, aber sudo apt-get install python-psycopg2funktioniert
Mugoma J. Okomba

4
in Ubuntu 16.04 zeigt es E: Paket Build-Dep konnte nicht gefunden werden
Harun-Ur-Rashid

42

Ich hatte das gleiche Problem und löste es mit den folgenden Befehlen:

sudo apt-get install libpq-dev
pip install psycopg2

Dies behebt die Fehlermeldung You need to install postgresql-server-dev-X.Y ..., die ich nach dem Ausführen erhalten habe sudo apt-get install build-dep python-psycopg2(obwohl ich dachte, ich habe postgresql bereits installiert).
Webelo


16

Versuchen Sie die Installation

psycopg2-binär

mit pip install psycopg2-binary --user


Dies ist die einzige Antwort, die für mich mit python 3.7.3unddjango 3.0.2
Brian Joseph

2
Wofür ist --user?
Muhammad Inaam Munir

@MuhammadInaamMunir --user : Install to the Python user install directory for your platform. Typically ~/.local/, or %APPDATA%\Python on Windows.Sie können weitere Informationen mit überprüfen pip install --help.
Fendi Setiawan vor

12

Bitte versuchen Sie, den Befehl import psycopg2auf der Python-Konsole auszuführen . Wenn Sie den Fehler erhalten, überprüfen Sie, sys.pathwo die Python nach dem Installationsmodul sucht. Ob das übergeordnete Verzeichnis von im vorhanden python-psycopg2-2.4.5-1.rhel5.x86_64ist sys.pathoder nicht. Wenn dies nicht der Fall ist, sys.pathführen Sie es export PYTHONPATH=<parent directory of python-psycopg2-2.4.5-1.rhel5.x86_64>vor dem Ausführen des Openerp-Servers aus.


9

Versuchen Sie mit diesen:

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

Führen Sie Python aus und versuchen Sie zu importieren, wenn Sie darauf bestehen, es auf Ihrem System-Python zu installieren. Versuchen Sie:

pip3 install psycopg2

3

Sie müssen das psycopg2Modul installieren .

Unter CentOS: Stellen Sie sicher, dass Python 2.7+ installiert ist. Wenn nicht, befolgen Sie diese Anweisungen: 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

Obwohl dies eine CentOS-Frage ist, finden Sie hier die Anweisungen für Ubuntu:

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

Zitieren: http://initd.org/psycopg/install/


Hmm bekommenez_setup.py is deprecated and when using it setuptools will be pinned to 33.1.1
Arthur

3

Vor kurzem trat dieses Problem auf meinem Produktionsserver auf. Ich hatte pyscopg2 mit installiert

sudo pip install psycopg2

Es funktionierte wunderbar auf meinem lokalen Server, ließ mich aber auf meinem ec2-Server laufen.

sudo python -m pip install psycopg2

Der obige Befehl hat dort für mich funktioniert. Hier posten, nur für den Fall, dass es jemandem in Zukunft helfen würde.


2

Ich habe das gleiche Problem, aber dieses Stück Snippet allein hat mein Problem gelöst.

pip install psycopg2

1

Für Python3

Schritt 1: Installieren Sie Abhängigkeiten

sudo apt-get install python3 python-dev python3-dev

Schritt 2: Installieren

pip install psycopg2

1

Überprüfen Sie korrekt, ob Ihre virtuelle Umgebung Ihres Objekts eingeschaltet war. Wenn sie ausgeschaltet ist, schalten Sie sie ein. Führen Sie folgende Cammands aus:

workon <your_env_name>
python manage.py runserver

Es funktioniert für mich


1

Ich hatte das gleiche Problem und verschwendete fast einen Tag, um dieses Problem zu lösen. Ich habe 2 Dinge getan 1- Verwenden Sie Python 3.6 anstelle von 3.8 2- Ändern Sie die Django 2.2-Version (funktioniert möglicherweise etwas höher, aber ich wechsle zu 2.2)

Jetzt funktioniert es gut


1

Wenn ich von Windows 10 zu Ubuntu wechsle, stoße ich auf dasselbe Problem. Folgendes hat bei mir funktioniert. Dies, nachdem ich 2 Stunden lang gegoogelt und zahlreiche Vorschläge ausprobiert hatte.

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

Ich hoffe, dies hilft jemandem, der auf das gleiche Problem gestoßen ist, insbesondere beim Wechsel des Windows-Betriebssystems zu Linux (Ubuntu).


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.