Debe instalar postgresql-server-dev-XY para crear una extensión del lado del servidor o libpq-dev para crear una aplicación del lado del cliente

4 minutos de lectura

avatar de usuario
Mohamed Taqi

Estoy trabajando en el proyecto Django con virtualenv y lo conecto a la base de datos postgres local. cuando ejecuto el proyecto dice:

ImportError: No module named psycopg2.extensions

luego usé este comando para instalar

pip install psycopg2

luego, durante la instalación, da el siguiente error.

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

  • ¿Has instalado ese paquete? Si no, instalarlo debería resolver el problema. Tenga en cuenta que la instalación postgresql-server-X.Y solo no ayudaría, porque eso solo instala el servidor binario, las bibliotecas y los archivos de datos, no los archivos de desarrollo (que están en el paquete mencionado anteriormente).

    – Abrixas2

    31 de enero de 2015 a las 16:18

avatar de usuario
megabytes

Use estos siguientes comandos, esto resolverá el error:

sudo apt-get install postgresql

entonces dispara:

sudo apt-get install python-psycopg2

y última:

sudo apt-get install libpq-dev

  • Solo necesitaba libs de cliente. “sudo apt-get install libpq-dev” me lo resolvió. Gracias

    – Priyeshj

    2 de octubre de 2015 a las 3:31

  • Descubrí que también tenía que instalar sudo apt-get install python-dev además de conseguir que finalmente funcione

    – Scott McC

    4 de diciembre de 2015 a las 7:54

  • ¡Gracias! sudo apt-get install libpq-dev ¡trabajó para mi!

    – Julián Guterman

    17 mayo 2016 a las 16:45

  • @ManishShrivastava, Bienvenido

    – megabytes

    10 de junio de 2016 a las 10:04

  • usar sudo apt-get install python3-psycopg2 para agregar a python3

    – Ramesh Verma

    11 de septiembre de 2019 a las 17:08


avatar de usuario
Mohamed Taqi

Acabo de ejecutar este comando como root desde la terminal y el problema está resuelto,

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

o

sudo apt-get install libpq-dev python-dev
pip install psycopg2

  • Muchas gracias, libpq-dev y python-dev hizo la magia necesaria

    – avtomatón

    13 de noviembre de 2015 a las 23:23

  • postgis? guau

    – Techkuz

    20 mayo 2019 a las 13:47

  • a veces, ejecutar sudo apt update solucionará este tipo de errores. Intenté ambas soluciones pero fallé. ejecutando sudo apt uppate lo resolvió.

    – Aleem

    2 de junio de 2020 a las 19:32

Simplemente instale libpq-dev

$ sudo apt-get install libpq-dev

  • Debo hacerlo cada gema pg de instalación para un nuevo proyecto. sudo apt install libpq5=10.15-0ubuntu0.18.04.1 ( if error occur) y entonces sudo apt-get install libpq-dev python-dev

    – bebe

    17 de enero de 2021 a las 18:38


avatar de usuario
ruhanbidart

Para mí, este simple comando resolvió el problema:

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

Entonces puedo hacer:

 pip install psycopg2

Para Python 3, hice:

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

y luego pude hacer:

pip3 install psycopg2

  • Gracias. Funcionó bien para mí. Creo que de ahora en adelante solo deberíamos centrarnos en las soluciones de Python 3.

    – alexopoulos7

    19 de enero de 2021 a las 8:15

avatar de usuario
Robkorv

Cambiaron el empaque por psycopg2. La instalación de la versión binaria solucionó este problema para mí. Las respuestas anteriores aún se mantienen si desea compilar el binario usted mismo.

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

Los paquetes binarios ya no se instalan por defecto. El paquete ‘psycopg2-binary’ debe usarse explícitamente.

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

Entonces, si no necesita compilar su propio binario, use:

pip install psycopg2-binary

  • Gracias. Funcionó bien para mí. Creo que de ahora en adelante solo deberíamos centrarnos en las soluciones de Python 3.

    – alexopoulos7

    19 de enero de 2021 a las 8:15

avatar de usuario
Max Sherbakov

Debe configurar postgresql-server-dev-XY, donde XY es la versión de su servidor, e instalará libpq-dev y otras variables de servidor en los módulos para el desarrollo del lado del servidor. en mi caso fue

apt-get install postgresql-server-dev-9.5

Leyendo listas de paquetes… Listo Creando árbol de dependencias Leyendo información de estado… Listo Los siguientes paquetes se instalaron automáticamente y ya no son necesarios: libmysqlclient18 mysql-common Use ‘apt-get autoremove’ para eliminarlos. Se instalarán los siguientes paquetes adicionales:
libpq-dev Paquetes sugeridos: postgresql-doc-10 Se instalarán los siguientes paquetes NUEVOS: libpq-dev postgresql-server-dev-9.5

en tu caso

sudo apt-get install postgresql-server-dev-X.Y
sudo apt-get install python-psycopg2

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad