web-dev-qa-db-fra.com

Vous devez installer postgresql-server-dev-X.Y pour créer une extension côté serveur ou libpq-dev pour créer une application côté client.

Je travaille sur Django projet avec virtualenv et le connecte à la base de données postgres locale. quand je lance le projet est dit,

ImportError: No module named psycopg2.extensions

alors j'ai utilisé cette commande pour installer

pip install psycopg2

puis lors de l'installation, l'erreur suivante est générée.

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

Utilisez les commandes suivantes, cela résoudra l’erreur:

Sudo apt-get install postgresql

puis tirez:

Sudo apt-get install python-psycopg2

enfin:

Sudo apt-get install libpq-dev
395
MegaBytes

Je viens d'exécuter cette commande en tant que racine du terminal et le problème est résolu,

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

ou

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

Pour moi, cette simple commande a résolu le problème:

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

Alors je peux faire:

 pip install psycopg2
24
ruhanbidart

Il suffit d'installer libpq-dev

$ Sudo apt-get install libpq-dev
10
Ivan

Pour Python 3, j'ai:

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

et puis j'ai pu faire:

pip3 install psycopg2
9
Garrett

Vous devez configurer postgresql-server-dev-X.Y, où X.Y. votre version de serveur, et il installera libpq-dev et d’autres variables de serveur aux modules pour le développement côté serveur. Dans mon cas c'était

apt-get install postgresql-server-dev-9.5

Lecture des listes de paquets ... Terminé Construction de l'arbre de dépendance Lecture des informations d'état ... Terminé Les packages suivants ont été installés automatiquement et ne sont plus nécessaires: libmysqlclient18 mysql-common Utilisez 'apt-get autoremove' pour les supprimer. Les paquets supplémentaires suivants seront installés:
libpq-dev Paquets suggérés: postgresql-doc-10 Les NOUVEAUX paquets suivants seront installés: libpq-dev postgresql-server-dev-9.5

Dans votre cas

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

Ils ont changé l'emballage pour psycopg2. L'installation de la version binaire a résolu ce problème pour moi. Les réponses ci-dessus tiennent toujours si vous voulez compiler le binaire vous-même.

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

Les paquets binaires ne sont plus installés par défaut. Le package ‘psycopg2-binary’ doit être utilisé explicitement.

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

Donc, si vous n'avez pas besoin de compiler votre propre binaire, utilisez:

pip install psycopg2-binary
9
robkorv

J'utilisais un environnement virtuel sous Ubuntu 18.04, et comme je ne voulais que l'installer en tant que client, je n'avais qu'à faire:

Sudo apt install libpq-dev
pip install psycopg2

Et installé sans problèmes. Bien sûr, vous pouvez utiliser le binaire comme le disent d’autres réponses, mais j’ai préféré cette solution car elle figurait dans un fichier Requirements.txt.

1
Checo R