python - setup - install psycopg2 ubuntu virtualenv
pg_config ejecutable no encontrado (27)
Estoy teniendo 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 que pg_config
está realmente en mi PATH
; se ejecuta sin ningún problema:
$ which pg_config
/usr/pgsql-9.1/bin/pg_config
Intenté agregar la ruta setup.cfg
archivo setup.cfg
y setup.cfg
utilizando los archivos de origen 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á ahí !!!
Estoy desconcertado por estos errores. ¿Alguien puede ayudar por favor?
Por cierto, sudo
todos los comandos. También estoy en RHEL 5.5.
¿Has instalado python-dev? Si ya tiene, intente también instalar libpq-dev
sudo apt-get install libpq-dev python-dev
Del artículo: Cómo instalar psycopg2 bajo virtualenv
ACTUALIZAR /etc/yum.repos.d/CentOS-Base.repo, [base] y [actualizaciones] secciones
ADD exclude = 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
Aquí, para OS X completo: 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 PATH.
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á ejecutar pg_config
sin problemas.
Así es como logré instalar psycopg2.
$ wget http://initd.org/psycopg/tarballs/PSYCOPG-2-5/psycopg2-2.5.3.tar.gz
$ tar -xzf psycopg2-2.5.3.tar.gz
$ cd psycopg2-2.5.3
$ python setup.py install
En Gentoo tienes que ejecutar lo siguiente
# Install postgresql client libraries
sudo emerge postgresql-base
En Linux Mint sudo apt-get install libpq-dev
funcionó para mí.
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 apuntará a lo último.
y hacer
pip install psycopg2
PD: Si los cambios no reflejan, es posible que deba reiniciar el indicador de comandos / terminal
En Mac OS X, lo resolví utilizando el gestor de paquetes homebrew
brew install postgresql
En Windows, es posible que desee instalar el puerto de Windows de Psycopg , que se recomienda en la documentación de psycopg .
En alpino, la biblioteca que contiene pg_config
es postgresql-dev
. Para instalar, ejecute:
apk add postgresql-dev
Encontré que esta página proporcionaba las mejores instrucciones para instalar PostgreSQL en mi mac y que el comando de instalación de pip funcionó perfectamente después:
https://www.codefellows.org/blog/three-battle-tested-ways-to-install-postgresql
Esto es lo que me funcionó en CentOS, primera instalación:
sudo yum install postgresql postgresql-devel python-devel
En Ubuntu solo usa 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 pip, esto debería funcionar para Debain o Linux basado en RHEL:
sudo PATH=$PATH:/usr/pgsql-9.3/bin/ pip install psycopg2
Asegúrate de incluir el camino correcto. Eso es todo :)
Esto funciona para mí:
sudo apt-get install libpq-dev python-dev
Estoy bastante seguro de que ha experimentado el mismo "problema" que yo, por lo que le ofreceré una solución extremadamente sencilla ...
En su caso, la ruta real que necesita agregar a $ PATH (o como un parámetro de comando) es:
/usr/pgsql-9.1/bin/pg_config
no
/usr/pgsql-9.1/bin
Por ejemplo, si ejecuta el script setup.py de python posteriormente, lo ejecutaría así:
python setup.py build_ext --pg-config /usr/pgsql-9.1/bin/pg_config build
Probablemente demasiado tarde, pero sigue siendo la solución más fácil.
DESPUÉS DE EDITAR:
En una prueba adicional descubrí que si inicialmente agregabas la ruta a pg_config en el formulario
/usr/pgsql-9.1/bin
(sin / pg_config after ..... / bin) y ejecute el comando pip install que funcionará.
Sin embargo, si luego decide seguir la indicación para ejecutar python setup.py, deberá especificar la ruta con / pg_config después de ..... / bin, es decir
python setup.py build_ext --pg-config /usr/pgsql-9.1/bin/pg_config build
Instalar python-psycopg2
resolvió por mí en Arch Linux:
pacman -S python-psycopg2
Intenta agregarlo a PATH:
PATH=$PATH:/usr/pgsql-9.1/bin/ ./pip install psycopg2
La solución de Ali funcionó para mí, pero estaba teniendo 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:
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 establezca la ruta del archivo pg_config:
PATH=$PATH:/Applications/Postgres93.app/Contents/MacOS/bin/
o para la versión más reciente:
PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin
Luego instale psycopg2.
Necesitas actualizar tu pip antes de instalar psycopg2. Usa este comando
pip install --upgrade pip
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:
export PATH = $ PATH: /Applications/Postgres.app/Contents/Versions / {{version}} / bin
p.ej
export PATH = $ PATH: /Applications/Postgres.app/Contents/Versions/9.4/bin
Para resumir, también enfrenté exactamente el mismo problema. Después de leer muchos posts de y blogs en línea, la solución final que funcionó para mí es la siguiente:
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:
/opt/local/lib/postgresql91/
así que para establecer explícitamente el PATH del archivo pg_config, ingresé el siguiente comando en mi terminal:
PATH=$PATH:/opt/local/lib/postgresql91/bin/
Este comando garantiza que cuando intente instalar pip psycopg2, encuentre el PATH para pg_config automáticamente esta vez.
También publiqué un error completo con el rastreo y su solución en mi blog que tal vez quiera consultar. Es para Mac OS X, pero el problema pg_config PATH es genérico y aplicable a Linux también.
Solo resolví el problema en Cent OS 7 por:
export PATH=$PATH:/usr/pgsql-9.5/bin
asegúrese de que su versión PostgreSql coincida con la versión correcta anterior.
También en OSX. Se instaló Postgress.app de http://postgresapp.com/ pero tuvo el mismo problema.
Encontré pg_config
en el contenido de esa aplicación y agregué el directorio a $PATH
.
Fue en /Applications/Postgres.app/Contents/Versions/latest/bin
. Así que esto funcionó: export PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"
.
para CentOS / RedHat asegúrese de que /etc/alternatives/pgsql-pg_config
sea un enlace simbólico no roto
sudo yum instalar postgresql-devel (centos6X)
pip instalar psycopg2 == 2.5.2
pg_config
está en postgresql-devel
( libpq-dev
en Debian / Ubuntu, libpq-devel
en Cygwin / Babun.)
sudo apt-get install libpq-dev
funciona para mí en Ubuntu 15.4
apt-get build-dep python-psycopg2