Tengo problemas para instalar psycopg2. Recibo el siguiente error cuando intentopip 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 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 compilarlo utilizando los archivos fuente que descargué de su sitio web ( http://initd.org/psycopg/ ) y recibí 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.
sudo
,$PATH
se cambia. ¿Puedes por favor verificar tu $ PATH como root?ln -s /usr/pgsql-9.1/bin/pg_config /usr/sbin/pg_config
y todo está bien!Respuestas:
pg_config
está enpostgresql-devel
(libpq-dev
en Debian / Ubuntu,libpq-devel
en Centos / Cygwin / Babun.)fuente
libpq-dev
en ubuntu lucid (10.04). Gracias de antemano.pg_config
de postgress.app está en/Applications/Postgres.app/Contents/Versions/<your version>/bin
(Mac OS X)libpqxx-devel
en fedora.sudo apt-get install libpq-dev
funcionó para mí en UbuntuEn Mac OS X, lo resolví usando el administrador de paquetes homebrew
fuente
brew
comando funcione.brew link postgresql
homebrew
.Has instalado
python-dev
? Si ya tiene, intente también instalarlibpq-dev
Del artículo: Cómo instalar psycopg2 bajo virtualenv
fuente
Python.h: No such file or directory
apt-get install -y gcc
También en OSX. Instalé Postgress.app desde http://postgresapp.com/ pero tuve el mismo problema.
Encontré
pg_config
en el contenido de esa aplicación y agregué el directorio$PATH
.Fue a las
/Applications/Postgres.app/Contents/Versions/latest/bin
. Así que esto funcionó:export PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"
.fuente
PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH" pip install psycopg2
En alpino, la biblioteca que contiene
pg_config
espostgresql-dev
. Para instalar, ejecute:fuente
Esto es lo que funcionó para mí en CentOS, primero instalar:
En Ubuntu solo use los paquetes equitativos de apt-get.
Y ahora incluya la ruta a su directorio binario postgresql con su instalación pip, esto debería funcionar para Linux basado en Debain o RHEL:
Asegúrese de incluir la ruta correcta. Eso es todo :)
fuente
sudo apt-get install postgresql postgresql-dev python-dev
, y esto funcionó para mí.gcc
esté instalado y python3-devel.fuente
Debe agregar los requisitos de Python utilizados en Postgres en Ubuntu. Correr:
fuente
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) PostgreSQL (desarrollo o cualquier versión estable) debe instalarse 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 para PostgreSQL es:
para establecer explícitamente la RUTA del archivo pg_config, ingresé el siguiente comando en mi terminal:
Este comando garantiza que cuando intente pip install psycopg2, encuentre la RUTA a pg_config automáticamente esta vez.
También publiqué un error completo con trace y su solución en mi blog, que es posible que desee consultar. Es para Mac OS X pero el problema pg_config PATH es genérico y aplicable a Linux también.
fuente
PATH="/Applications/Postgres.app/Contents/Versions/9.3/bin:$PATH"
sudo apt-get install libpq-dev
funciona para mí en Ubuntu 15.4fuente
En Linux, Mint
sudo apt-get install libpq-dev
funcionó para mí.fuente
Puede instalar binarios precompilados en cualquier plataforma con
pip
oconda
:o
Tenga en cuenta que la página de pycopg2-binary pypi recomienda construir desde la fuente en producción:
Para usar el paquete creado a partir de fuentes, use
python -m pip install psycopg2
. Ese proceso requerirá varias dependencias ( documentación ) (énfasis mío):fuente
apt install libpq-dev
ACTUALIZACIÓN /etc/yum.repos.d/CentOS-Base.repo, las secciones [base] y [actualizaciones]
ADD excluyen = postgresql *
fuente
Para aquellos que ejecutan OS X, esta solución funcionó para mí:
1) Instalar Postgres.app:
http://www.postgresql.org/download/macosx/
2) Luego abra la Terminal y ejecute este comando, reemplazando donde dice {{versión}} con el número de versión de Postgres:
RUTA de exportación = $ RUTA: /Applications/Postgres.app/Contents/Versions / {{version}} / bin
p.ej
export PATH = $ PATH: /Applications/Postgres.app/Contents/Versions/9.4/bin
fuente
sudo ln -s /Applications/Postgres.app/Contents/Versions/latest/bin/pg_config /usr/local/bin/pg_config
Intenta agregarlo a la RUTA:
fuente
-bash: cd: /usr/pgsql-x.x/bin/: No such file or directory
/usr/pgsql-x.x/bin/
es correcto?pg_
viven todos los archivos importantes . 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
¡Actualice su versión * si se lanzó una nueva versión!PATH=$PATH:/usr/local/Cellar/postgresql/9.5.0/bin/
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 la ruta de su instalación de Postgres aparecerá así:
Su archivo pg_config está en esa carpeta bin. Por lo tanto, antes de instalar psycopg2, configure la ruta del archivo pg_config:
o para una versión más nueva:
Luego instale psycopg2.
fuente
/Applications/Postgres.app/Contents/Versions/9.3/bin
find /usr/local -name 'pg_config'
Necesita actualizar su pip antes de instalar psycopg2. Usa este comando
fuente
Voy a dejar esto aquí para la próxima alma desafortunada que no puede solucionar este problema a pesar de todas las soluciones proporcionadas. Simplemente use
sudo pip3 install psycopg2-binary
fuente
brew install postgresql
arregló.pip install psycopg2-binary
deba hacerlo para mí: pip -> python2, pip3 -> python3. Pero mientras lo hiciste funcionar, ¡fue una de las muchas soluciones!Acabo de resolver el problema en Cent OS 7:
asegúrese de que su versión de PostgreSql coincida con la versión correcta anterior.
fuente
En Mac OS X y si está utilizando la aplicación Postgres ( http://postgresapp.com/ ):
No es necesario especificar la versión de Postgres en este comando. Siempre se señalará a lo último.
y hacer
PD: Si los cambios no se reflejan, es posible que deba reiniciar el indicador de Terminal / Comando
Fuente
fuente
Instalar python-psycopg2 lo resolvió para mí en Arch Linux:
fuente
En Windows, es posible que desee instalar el puerto de Windows de Psycopg , que se recomienda en la documentación de psycopg .
fuente
En MacOS, la solución más simple será vincular el binario correcto, que está debajo del paquete Postgres.
Esto es bastante inofensivo, y todas las aplicaciones podrán usarlo en todo el sistema, si es necesario.
fuente
sudo yum install postgresql-devel (centos6X)
pip install psycopg2 == 2.5.2
fuente
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
Ahora
pip install psycopg2
podrá ejecutarsepg_config
sin problemas.fuente
Para aquellos en macOS Catalina que usan el
zsh
shell que también han instalado la aplicación postgres :Abra su
~/.zshrc
archivo y agregue la siguiente línea:Luego cierre todos sus terminales, vuelva a abrirlos y habrá resuelto su problema.
Si no desea cerrar sus terminales, simplemente ingrese
source ~/.zshrc
en la terminal en la que desea seguir trabajando.fuente
zsh
Shell!Para usuarios de mac, extienda su variable de ruta para incluir PostgreSQL como este
export PATH=$PATH:/Library/PostgreSQL/12/bin
.fuente
Así es como logré instalar psycopg2
fuente
Estoy bastante seguro de que has experimentado el mismo "problema" que yo tuve, por lo tanto, te ofreceré la solución extremadamente fácil ...
En su caso, la ruta real que necesita agregar a $ PATH (o como un parámetro de comando) es:
no
Por ejemplo, si ejecuta el script python setup.py después, lo ejecutaría así:
Probablemente demasiado tarde, pero sigue siendo la solución más fácil.
EDICIÓN MÁS TARDE:
En otra prueba descubrí que si inicialmente agrega la ruta a pg_config en el formulario
(sin / pg_config después de ..... / bin) y ejecute el comando pip install funcionará.
Sin embargo, si decide seguir la indicación de ejecutar python setup.py, deberá especificar la ruta con / pg_config después de ..... / bin, es decir
fuente
/usr/pgsql-9.6/bin/pg_config
(o como se llame en su sistema)/usr/bin/pg_config
, de esa manera está disponible en la RUTA que ya tiene.para CentOS / RedHat, asegúrese de que
/etc/alternatives/pgsql-pg_config
sea un enlace simbólico no rotofuente