Back

Cómo solucionar el error 'pg_config executable not found' al instalar psycopg2

Cómo solucionar el error 'pg_config executable not found' al instalar psycopg2

Si ha intentado instalar el paquete de Python psycopg2 para conectarse a bases de datos PostgreSQL, es posible que se haya encontrado con el frustrante error pg_config executable not found. Esta guía explica qué causa este error y proporciona pasos claros para resolverlo en varios sistemas operativos.

Puntos clave

  • El error pg_config executable not found ocurre al instalar paquetes de Python como psycopg2 que requieren PostgreSQL
  • Asegúrese de que PostgreSQL esté instalado y que pg_config se encuentre en el PATH del sistema
  • Instale las bibliotecas y encabezados de desarrollo de PostgreSQL para su sistema operativo
  • Considere usar psycopg2-binary para desarrollo/pruebas para evitar la compilación desde el código fuente

¿Qué es el error ‘pg_config executable not found’?

La herramienta pg_config proporciona información sobre la versión instalada de PostgreSQL. Muchos paquetes como psycopg2 dependen de pg_config durante la instalación para localizar los archivos y bibliotecas necesarios de PostgreSQL. Si no se puede encontrar pg_config, la instalación falla con un error como:

Error: pg_config executable not found.

Causas comunes del error ‘pg_config executable not found’

Hay algunas razones principales por las que puede ver este error:

  1. PostgreSQL no está instalado
  2. El ejecutable pg_config no está en el PATH del sistema
  3. Faltan las bibliotecas y encabezados de desarrollo de PostgreSQL necesarios

Veamos cómo abordar cada uno de estos problemas.

Cómo solucionar el error ‘pg_config executable not found’

1. Instalar PostgreSQL

Primero, asegúrese de que PostgreSQL esté instalado en su sistema. Puede descargar el instalador adecuado para su sistema operativo desde el sitio web oficial de PostgreSQL.

2. Localizar pg_config y agregarlo al PATH

El ejecutable pg_config se incluye con PostgreSQL, pero puede que no esté en el PATH del sistema. Encuentre la ubicación de pg_config y agregue su directorio al PATH:

Linux

Ubicaciones comunes:

  • /usr/pgsql-<version>/bin/pg_config
  • /usr/local/pgsql/bin/pg_config

Agregar al PATH:

export PATH=$PATH:/ruta/al/directorio/de/pg_config

macOS

Ubicación común (Postgres.app):

  • /Applications/Postgres.app/Contents/Versions/latest/bin/pg_config

Agregar al PATH:

export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin

Windows

Ubicación común:

  • C:\Program Files\PostgreSQL\<version>\bin\pg_config.exe

Agregar al PATH:

setx PATH "%PATH%;C:\ruta\al\directorio\de\pg_config"

3. Instalar las bibliotecas de desarrollo de PostgreSQL

Para compilar psycopg2, necesita las bibliotecas y encabezados de desarrollo de PostgreSQL. Instálelos usando el administrador de paquetes de su sistema:

Linux

  • Ubuntu/Debian: sudo apt install libpq-dev
  • CentOS/RHEL: sudo yum install postgresql-devel

macOS

Instalar con Homebrew:

brew install postgresql

Windows

Las bibliotecas se incluyen con el instalador de PostgreSQL del sitio web oficial.

Instalar psycopg2

Con PostgreSQL instalado y pg_config en el PATH, ahora puede instalar psycopg2:

pip install psycopg2

Si prefiere evitar la compilación desde el código fuente, puede instalar el paquete pre-compilado psycopg2-binary en su lugar:

pip install psycopg2-binary

Sin embargo, tenga en cuenta que psycopg2-binary se recomienda solo para desarrollo y pruebas, no para producción.

Preguntas frecuentes

Sí, `psycopg2-binary` proporciona paquetes wheel pre-compilados que no requieren compilación desde el código fuente. Sin embargo, el equipo de `psycopg2` recomienda usar la distribución de código fuente para entornos de producción.

Sí, `psycopg2` es un adaptador de PostgreSQL para Python. Requiere una instalación de PostgreSQL para funcionar correctamente, incluso si su aplicación Python se conecta a una base de datos PostgreSQL remota.

Conclusión

Al seguir los pasos descritos aquí, debería poder resolver el error pg_config executable not found e instalar con éxito psycopg2 para comenzar a usar PostgreSQL en sus proyectos de Python.

Listen to your bugs 🧘, with OpenReplay

See how users use your app and resolve issues fast.
Loved by thousands of developers