pg_config ejecutable no encontrado
Frecuentes
Visto 921,406 equipos
1156
Tengo problemas para instalar psycopg2. Recibo el siguiente error cuando intento pip install psycopg2
:
Error: pg_config executable not found.
Please add the directory containing pg_config to the PATH
or specify the full executable path with the option:
python setup.py build_ext --pg-config /path/to/pg_config build ...
or with the pg_config option in 'setup.cfg'.
----------------------------------------
Command python setup.py egg_info failed with error code 1 in /tmp/pip-build/psycopg2
Pero el problema es pg_config
en realidad está en mi PATH
; se ejecuta sin ningún problema:
$ which pg_config
/usr/pgsql-9.1/bin/pg_config
Intenté agregar la ruta pg_config al setup.cfg
archivo y construirlo usando los archivos fuente que descargué de su sitio web (http://initd.org/psycopg/) y recibo el siguiente mensaje de error.
Error: Unable to find 'pg_config' file in '/usr/pgsql-9.1/bin/'
Pero en realidad está ALLÍ!!!
Estoy desconcertado por estos errores. ¿Alguien puede ayudar por favor?
Por cierto yo sudo
todos los comandos. También estoy en RHEL 5.5.
30 Respuestas
1127
pg_config
es en postgresql-devel
(libpq-dev
en Debian/Ubuntu, libpq-devel
en Centos/Fedora/Cygwin/Babun).
contestado el 20 de mayo de 21 a las 18:05
Resuelto después de instalar libpq-dev
en ubuntu lúcido (10.04). Gracias de antemano. - pilón
pg_config
de postgress.app está en /Applications/Postgres.app/Contents/Versions/<your version>/bin
(Mac OS X) - Tim Daubenschütz
Es libpqxx-devel
en fedora. - robar
sudo apt-get install libpq-dev
funcionó para mí en Ubuntu - Bill Cheatham
en Alpine Linux: apk agregar postgresql-dev - RJ
603
En Mac OS X, lo resolví usando el homebrew gerente de empaquetación
brew install postgresql
Respondido 26 Abr '18, 22:04
También funcionó para mí, aunque hice la instalación de brew después de la instalación de pgadmin. - Kanal
¿Eso no instala toda la base de datos? - zmbq
necesito el extra brew link postgresql
- Vincentlcy
Para agregar al comentario de @seane, use este tutorial instalar homebrew
. - Srini
327
Has instalado python-dev
? Si ya lo tienes, prueba también a instalar libpq-dev
sudo apt-get install libpq-dev python-dev
Del artículo: Cómo instalar psycopg2 bajo virtualenv
Respondido 11 Oct 19, 12:10
En mi computadora solo instalo el cliente de Postgresql, por lo que debes instalar el libpq-dev y el python-dev. - bnPYSse
Dudoso que se necesite python-dev. - juanitogan
me ayudó. Gracias - Arun
Se necesita python3-dev. sin eso lo consigo Python.h: No such file or directory
- Krubo
una dependencia más requerida para esto es apt-get install -y gcc
- Anum Sheraz
104
También en OSX. Instalado Postgress.app desde http://postgresapp.com/ pero tenía el mismo problema.
Encontré pg_config
en el contenido de esa aplicación y agregó el directorio a $PATH
.
Fue en /Applications/Postgres.app/Contents/Versions/latest/bin
. Entonces esto funcionó: export PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"
.
Respondido 07 Abr '17, 21:04
@GianlucaLodigiani también puedes hacer esto si no quieres reiniciar la consola PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH" pip install psycopg2
- Bernardo Duarte
Perfect BigSur Apple Silicon Funciona de maravilla. Agregué lo mismo a ~/.zshrc para que siempre esté disponible para mí. - doogle
72
Puede instalar binarios precompilados en cualquier plataforma con pip
or conda
:
python -m pip install psycopg2-binary
or
conda install psycopg2
Tenga en cuenta que el página pypi psycopg2-binary recomienda construir desde la fuente en producción:
El paquete binario es una opción práctica para el desarrollo y las pruebas, pero en producción se recomienda utilizar el paquete creado a partir de las fuentes.
Para usar el paquete creado a partir de las fuentes, use python -m pip install psycopg2
. Ese proceso requerirá varias dependencias (documentación) (énfasis mío):
- Compilador de CA.
- La Archivos de encabezado de Python. Por lo general, se instalan en un paquete como
python-dev
. Un mensaje comoerror: Python.h: No such file or directory
es una indicación de que faltan los encabezados de Python.- La archivos de encabezado libpq. Por lo general, se instalan en un paquete como
libpq-dev
. Si obtienes unerror: libpq-fe.h: No such file or directory
te los estás perdiendo.- La
pg_config
programa: normalmente lo instala ellibpq-dev
paquete pero a veces no está en unPATH
directorio. Tenerlo en elPATH
agiliza en gran medida la instalación, así que intente ejecutarpg_config --version
: si devuelve un error o un número de versión inesperado, busque el directorio que contiene elpg_config
enviado con el derecholibpq
versión (normalmente/usr/lib/postgresql/X.Y/bin/
) y añádelo a laPATH
:$ export PATH=/usr/lib/postgresql/X.Y/bin/:$PATH
Solo necesitas
pg_config
compilarpsycopg2
, no para su uso regular.
Una vez que todo está en su lugar, solo es cuestión de ejecutar el estándar:
$ pip install psycopg2
o, desde el directorio que contiene el código fuente:
$ python setup.py build $ python setup.py install
Respondido el 28 de diciembre de 20 a las 20:12
En Ubuntu, primero necesitaba instalar la biblioteca libpq-dev y luego ejecutar el comando pip install nuevamente: apt install libpq-dev
- Benjamin
Eso lo resolvió en un Mac OS X sin necesidad de instalar postgresql por completo: oren yosifon
Gracias por señalar la recomendación de la documentación para compilar desde la fuente. Secundo esta sugerencia: los desarrolladores deben usar la última mitad de esta respuesta y evitar el binario preempaquetado, incluso para la mayoría de los propósitos de desarrollo. - Jason R. Stevens CFA
53
En alpine, la biblioteca que contiene pg_config
is postgresql-dev
. Para instalar, ejecute:
apk add postgresql-dev
Respondido 06 Jul 17, 02:07
47
Esto es lo que funcionó para mí en CentOS, primero instale:
sudo yum install postgresql postgresql-devel python-devel
En Ubuntu, solo use los paquetes apt-get equivalentes.
sudo apt-get install postgresql postgresql-dev python-dev
Y ahora incluya la ruta a su directorio binario postgresql con su instalación de pip, esto debería funcionar para Linux basado en Debain o RHEL:
sudo PATH=$PATH:/usr/pgsql-9.3/bin/ pip install psycopg2
Asegúrese de incluir la ruta correcta. Eso es todo :)
Respondido el 16 de diciembre de 14 a las 04:12
En Ubuntu es sudo apt-get install postgresql postgresql-dev python-dev
, y esto funcionó para mí. - módulos
también funciona en Amazon Linux AMI a partir de diciembre de 2016. También asegúrese de gcc
está instalado y python3-devel. - villasv
En Amazon Linux, el primer comando funcionó bien. - thanos.a
37
apt-get build-dep python-psycopg2
Respondido 08 Feb 13, 19:02
35
Debe agregar los requisitos de python utilizados en Postgres en Ubuntu. Correr:
sudo apt-get install libpq-dev python-dev
Respondido el 27 de junio de 19 a las 19:06
34
Solo para resumir, también enfrenté exactamente el mismo problema. Después de leer muchas publicaciones de stackoverflow y blogs en línea, la solución final que funcionó para mí es esta:
1) Se debe instalar PostgreSQL (desarrollo o cualquier versión estable) antes de instalar psycopg2.
2) El archivo pg_config (este archivo normalmente reside en la carpeta bin de la carpeta de instalación de PostgreSQL) PATH tuvo que configurarse explícitamente antes de instalar psycopg2. En mi caso, la RUTA de instalación de PostgreSQL es:
/opt/local/lib/postgresql91/
entonces, para establecer explícitamente la RUTA del archivo pg_config, ingresé el siguiente comando en mi terminal:
PATH=$PATH:/opt/local/lib/postgresql91/bin/
Este comando asegura que cuando intente instalar pip psycopg2, esta vez encontrará la RUTA a pg_config automáticamente.
También publiqué un error completo con trace y su solución en mi blog que usted puede querer consultar. Es para Mac OS X, pero el problema pg_config PATH es genérico y también se aplica a Linux.
Respondido 05 Jul 13, 07:07
para mí en OS X, el camino se veía así PATH="/Applications/Postgres.app/Contents/Versions/9.3/bin:$PATH"
- andilalabs
@andi Sí, la ruta de instalación de Postgres puede diferir, pero la receta de instalación de psycopg2 que mencioné anteriormente sigue siendo la misma. Espero haber ayudado. - Ali raza bhayani
30
Tienes que instalar libpq-dev/postgresql-libs, que son los archivos de encabezado y la biblioteca estática para compilar programas C para vincular con la biblioteca libpq para comunicarse con un backend de base de datos PostgreSQL.
En Arch esto se ejecutará:
$ sudo pacman -S postgresql-libs
En Debian y Ubuntu:
$ sudo apt-get install libpq-dev
En Mac OS X:
$ brew install postgresql
En RedHat/CentOS/Fedora:
$ sudo yum install postgresql-devel
Respondido el 09 de enero de 21 a las 22:01
23
En Linux Mint sudo apt-get install libpq-dev
trabajado para mí.
Respondido el 18 de diciembre de 17 a las 02:12
23
Para los usuarios de ubuntu, esta es la solución:
sudo apt install libpq-dev
Funcionó para mí.
Respondido 04 Oct 21, 19:10
22
Para aquellos que ejecutan OS X, esta solución funcionó para mí:
1) Instale Postgres.aplicación:
http://www.postgresql.org/download/macosx/
2) Luego abra la Terminal y ejecute este comando, reemplazando donde dice {{version}} con el número de versión de Postgres:
export PATH=$PATH:/Aplicaciones/Postgres.app/Contents/Versions/{{version}}/bin
p.ej
export PATH = $ PATH: /Applications/Postgres.app/Contents/Versions/9.4/bin
respondido 26 mar '15, 11:03
O enlace simbólico a la última versión sudo ln -s /Applications/Postgres.app/Contents/Versions/latest/bin/pg_config /usr/local/bin/pg_config
- C--
En mi Mac, exporté la RUTA del archivo ~/.zprofile. - user3785966
21
ACTUALIZAR las secciones /etc/yum.repos.d/CentOS-Base.repo, [base] y [updates]
AÑADIR excluir = postgresql *
curl -O http://yum.postgresql.org/9.1/redhat/rhel-6-i386/pgdg-centos91-9.1-4.noarch.rpmr
rpm -ivh pgdg-centos91-9.1-4.noarch.rpm
yum install postgresql
yum install postgresql-devel
PATH=$PATH:/usr/pgsql-9.1/bin/
pip install psycopg2
Respondido 03 ago 14, 16:08
18
Intenta agregarlo a PATH:
PATH=$PATH:/usr/pgsql-9.1/bin/ ./pip install psycopg2
Respondido 20 ago 12, 13:08
-bash: cd: /usr/pgsql-x.x/bin/: No such file or directory
- pilón
@pylover, debe usar la ruta correcta a su directorio bin de Postgres. Estás seguro que /usr/pgsql-x.x/bin/
¿es correcto? - Marboni
También sería suficiente agregar la carpeta donde se encuentran todos los elementos importantes. pg_
archivos en vivo. Para postgres.app esta ruta en Mac OS X es /Applications/Postgres.app/Contents/Versions/9.3/bin
. PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin
Actualiza tu versión* si se lanzó una nueva versión! - Tim Daubenschütz
Esto funcionó para mí en OS X El Capitan: PATH=$PATH:/usr/local/Cellar/postgresql/9.5.0/bin/
- David Hariri
18
La solución de Ali funcionó para mí, pero tenía problemas para encontrar la ubicación de la carpeta bin. Una forma rápida de encontrar la ruta en Mac OS X es abrir psql (hay un enlace rápido en la barra de menú superior). Esto abrirá una ventana de terminal separada y en la segunda línea aparecerá la ruta de su instalación de Postgres así:
My-MacBook-Pro:~ Me$ /Applications/Postgres93.app/Contents/MacOS/bin/psql ; exit;
Su archivo pg_config está en esa carpeta bin. Por lo tanto, antes de instalar psycopg2 configure la ruta del archivo pg_config:
PATH=$PATH:/Applications/Postgres93.app/Contents/MacOS/bin/
o para una versión más nueva:
PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin
Luego instale psycopg2.
contestado el 15 de mayo de 14 a las 19:05
Los documentos más nuevos usan la siguiente ruta: /Applications/Postgres.app/Contents/Versions/9.3/bin
- jpimentel
Parece moverse. find /usr/local -name 'pg_config'
- Praxeolítico
18
Simplemente ejecuta lo siguiente:
sudo apt install libpq-dev
Me solucionó el problema
Respondido 11 Feb 21, 09:02
16
Voy a dejar esto aquí para la próxima alma desafortunada que no pueda solucionar este problema a pesar de todas las soluciones proporcionadas. Simplemente use sudo pip3 install psycopg2-binary
Respondido el 27 de Septiembre de 19 a las 14:09
12
En MacOS, la solución más simple será vincular el binario correcto, es decir, bajo el paquete Postgres.
sudo ln -s /Applications/Postgres.app/Contents/Versions/latest/bin/pg_config /usr/local/bin/pg_config
Esto es bastante inofensivo y todas las aplicaciones podrán usarlo en todo el sistema, si es necesario.
respondido 21 nov., 19:04
Funciona para mí, aunque no tenía que sudo. ¡Gracias! - Juan Ottenlips
Funciona para mí de hecho! - Hadnazzar
En macOS 11.01, M1 Chip, la creación de un enlace simbólico funcionó para mí: sudo ln -s /Library/PostgreSQL/13/bin/pg_config /usr/local/bin/pg_config
- Anand
10
En Mac OS X y si está utilizando la aplicación Postgres (http://postgresapp.com/):
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin
No es necesario especificar la versión de Postgres en este comando. Siempre se señalará a la última.
y hacer
pip install psycopg2
PD: si los cambios no se reflejan, es posible que deba reiniciar la Terminal/Símbolo del sistema
Respondido 26 Oct 16, 07:10
10
Instalación python-psycopg2 lo resolvió para mí en Arch Linux:
pacman -S python-psycopg2
respondido 10 nov., 19:10
¿Qué pasa con Windows? - Prathamesh Más
@PrathameshMore No sé, no uso Windows. Has probado esta respuesta: stackoverflow.com/a/25767749/5660517 ? - Ronan Boiteau
10
Tuve este problema porque no tenía una instalación de postgres. Si tiene brew install, ejecute
brew install postgresql
Esto debería solucionar el problema.
Respondido 23 Jul 21, 16:07
9
En Windows, es posible que desee instalar el Puerto de Windows de Psycopg, que se recomienda en documentación de psycopg.
Respondido el 10 de Septiembre de 14 a las 15:09
9
Acabo de resolver el problema en Cent OS 7 por:
export PATH=$PATH:/usr/pgsql-9.5/bin
asegúrese de que su versión de PostgreSql coincida con la versión correcta anterior.
Respondido 05 ago 16, 09:08
7
Aquí, para completar OS X: si instala PostgreSQL desde MacPorts, pg_config estará en /opt/local/lib/postgresql94/bin/pg_config
.
Cuando instaló MacPorts, ya agregó /opt/local/bin
a su RUTA.
Entonces, esto solucionará el problema:
$ sudo ln -s /opt/local/lib/postgresql94/bin/pg_config /opt/local/bin/pg_config
Actualmente pip install psycopg2
será capaz de correr pg_config
sin problemas.
Respondido 29 Abr '15, 19:04
¡Gracias por proporcionar una respuesta específica de MacPorts! 🙏🏻 No pude encontrar uno, y esto funcionó para mí. - daniel brady
7
Esto se sugirió en parte antes, agregándolo aquí para mayor claridad.
De la documentación en https://www.psycopg.org/docs/install.html.
sugieren ejecutar: $ pip instalar psycopg2-binary
Eso me resolvió el problema.
Respondido el 24 de Septiembre de 20 a las 09:09
6
Para aquellos en macOS Catalina usando el zsh
shell que también han instalado el aplicación postgres:
Abra su ~/.zshrc
archivo, y add la siguiente línea:
export PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"
Luego cierra todos tus terminales, vuelve a abrirlos y habrás resuelto tu problema.
Si no desea cerrar sus terminales, simplemente ingrese source ~/.zshrc
en cualquier terminal en la que le gustaría seguir trabajando.
respondido 27 nov., 19:00
esto funciona en big sur también. - diva
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas python pip psycopg2 or haz tu propia pregunta.
Cuando ejecuta comandos como
sudo
,$PATH
está cambiado. ¿Puedes verificar tu $PATH como root? - Hugo TavaresEn mi caso, corro
ln -s /usr/pgsql-9.1/bin/pg_config /usr/sbin/pg_config
y todo bien! - CK.Nguyen