it-swarm.com.de

Sie müssen postgresql-server-dev-X.Y zum Erstellen einer serverseitigen Erweiterung oder libpq-dev zum Erstellen einer clientseitigen Anwendung installieren

Ich arbeite an Django Projekt mit virtualenv und verbinde es mit der lokalen Postgres-Datenbank. Wenn ich das Projekt starte, wird gesagt,

ImportError: No module named psycopg2.extensions

dann habe ich diesen Befehl verwendet, um zu installieren

pip install psycopg2

dann gibt es während der installation folgenden fehler.

Downloading/unpacking psycopg2==2.4.4
  Downloading psycopg2-2.4.4.tar.gz (648kB): 648kB downloaded
  Running setup.py (path:/home/muhammadtaqi/Projects/MyProjects/OnlineElectionCampaign/venv/build/psycopg2/setup.py) Egg_info for package psycopg2

    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.

    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: You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.



----------------------------------------
Cleaning up...
Command python setup.py Egg_info failed with error code 1 in /home/muhammadtaqi/Projects/MyProjects/OnlineElectionCampaign/venv/build/psycopg2
Storing debug log for failure in /home/muhammadtaqi/.pip/pip.log
182
Muhammad Taqi

Verwenden Sie die folgenden Befehle, um den Fehler zu beheben:

Sudo apt-get install postgresql

dann feuer:

Sudo apt-get install python-psycopg2

und zuletzt:

Sudo apt-get install libpq-dev
395
MegaBytes

Ich führe diesen Befehl einfach als Root vom Terminal aus und das Problem ist gelöst.

Sudo apt-get install -y postgis postgresql-9.3-postgis-2.1
pip install psycopg2

oder

Sudo apt-get install libpq-dev python-dev
pip install psycopg2
55
Muhammad Taqi

Für mich löste dieser einfache Befehl das Problem:

Sudo apt-get install postgresql postgresql-contrib libpq-dev python-dev

Dann kann ich machen:

 pip install psycopg2
24
ruhanbidart

Installieren Sie einfach libpq-dev

$ Sudo apt-get install libpq-dev
10
Ivan

Für Python 3 habe ich Folgendes getan:

Sudo apt install python3-dev postgresql postgresql-contrib python3-psycopg2 libpq-dev

und dann konnte ich tun:

pip3 install psycopg2
9
Garrett

Sie müssen postgresql-server-dev-X.Y einrichten, wobei X.Y. Die Serverversion Ihres Computers installiert libpq-dev und andere Servervariablen auf Modulen für die serverseitige Entwicklung. In meinem Fall war es das

apt-get install postgresql-server-dev-9.5

Lesen der Paketlisten ... Fertig Erstellen des Abhängigkeitsbaums Lesen der Statusinformationen ... Fertig Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt: libmysqlclient18 mysql-common Verwenden Sie 'apt-get autoremove', um sie zu entfernen. Die folgenden zusätzlichen Pakete werden installiert:
libpq-dev Empfohlene Pakete: postgresql-doc-10 Die folgenden NEUEN Pakete werden installiert: libpq-dev postgresql-server-dev-9.5

In deinem Fall

Sudo apt-get install postgresql-server-dev-X.Y
Sudo apt-get install python-psycopg2
9
Max Sherbakov

Sie haben die Verpackung für psycopg2 geändert. Das Installieren der Binärversion hat dieses Problem für mich behoben. Die obigen Antworten sind immer noch zutreffend, wenn Sie die Binärdatei selbst kompilieren möchten.

Siehe http://initd.org/psycopg/docs/news.html#what-s-new-in-psycopg-2-8 .

Binärpakete werden nicht mehr standardmäßig installiert. Das Paket "psycopg2-binary" muss explizit verwendet werden.

Und http://initd.org/psycopg/docs/install.html#binary-install-from-pypi

Wenn Sie also keine eigene Binärdatei kompilieren müssen, verwenden Sie:

pip install psycopg2-binary
9
robkorv

Ich habe unter Ubuntu 18.04 eine virtuelle Umgebung verwendet und da ich sie nur als Client installieren wollte, musste ich nur Folgendes tun:

Sudo apt install libpq-dev
pip install psycopg2

Und ohne Probleme installiert. Natürlich können Sie die Binärdatei verwenden, wie in anderen Antworten angegeben, aber ich bevorzuge diese Lösung, da sie in einer requirements.txt-Datei angegeben ist.

1
Checo R