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 comopsycopg2
que requieren PostgreSQL - Asegúrese de que PostgreSQL esté instalado y que
pg_config
se encuentre en elPATH
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:
- PostgreSQL no está instalado
- El ejecutable
pg_config
no está en elPATH
del sistema - 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.