Je travaille sur le projet Django avec virtualenv et le connecte à la base de données postgres locale. quand je dirige le projet dit,
ImportError: No module named psycopg2.extensions
alors j'ai utilisé cette commande pour installer
pip install psycopg2
puis lors de l'installation il donne l'erreur suivante.
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
python
django
postgresql
Muhammad Taqi
la source
la source
postgresql-server-X.Y
seule ne serait pas utile, car cela installe simplement le binaire du serveur, les bibliothèques et les fichiers de données, pas les fichiers de développement (qui sont dans le package susmentionné).Réponses:
Utilisez ces commandes suivantes, cela résoudra l'erreur:
puis tirez:
enfin:
la source
sudo apt-get install python-dev
en plus pour le faire enfin fonctionnersudo apt-get install libpq-dev
travaillé pour moi!sudo apt-get install python3-psycopg2
pour ajouter à python3Je viens d'exécuter cette commande en tant que racine à partir du terminal et le problème est résolu,
ou
la source
libpq-dev
et vouspython-dev
postgis
? wootInstallez simplement libpq-dev
la source
Pour moi, cette simple commande a résolu le problème:
Ensuite, je peux faire:
la source
Pour Python 3, j'ai fait:
puis j'ai pu faire:
la source
Ils ont changé l'emballage de 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 .
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:
la source
psycopg2-binary
ne doit pas être utilisé en production, car cela entraînera quelques bugs.psycopg2-binary
ne doit pas être utilisé en production: initd.org/psycopg/docs/install.html#binary-install-from-pypi (Texte copié: le package psycopg2-binary est destiné aux débutants qui souhaitent commencer à jouer avec Python et PostgreSQL sans avoir besoin de répondre aux exigences de construction. Si vous êtes le responsable d'un package de publication dépendant de psycopg2, vous ne devez pas utiliser 'psycopg2-binary' comme dépendance de module. Pour une utilisation en production, il est conseillé d'utiliser la distribution source.)Vous devez configurer postgresql-server-dev-XY, où XY est la version de vos serveurs, et il installera libpq-dev et d'autres variables de serveurs au niveau des modules pour le développement côté serveur. Dans mon cas, c'était
Dans votre cas
la source
J'utilisais un environnement virtuel sur Ubuntu 18.04, et comme je voulais seulement l'installer en tant que client, je n'avais qu'à faire:
Et installé sans problème. Bien sûr, vous pouvez utiliser le binaire comme d'autres réponses l'ont dit, mais j'ai préféré cette solution car elle était indiquée dans un fichier requirements.txt.
la source