¿Cómo instalar psycopg2 con “pip” en Python?

Estoy usando virtualenv y necesito instalar “psycopg2“.

He hecho lo siguiente:

 pip install http://pypi.python.org/packages/source/p/psycopg2/psycopg2-2.4.tar.gz#md5=24f4368e2cfdc1a2b03282ddda814160 

Y tengo los siguientes mensajes:

 Downloading/unpacking http://pypi.python.org/packages/source/p/psycopg2/psycopg2 -2.4.tar.gz#md5=24f4368e2cfdc1a2b03282ddda814160 Downloading psycopg2-2.4.tar.gz (607Kb): 607Kb downloaded Running setup.py egg_info for package from http://pypi.python.org/packages/sou rce/p/psycopg2/psycopg2-2.4.tar.gz#md5=24f4368e2cfdc1a2b03282ddda814160 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'. Complete output from command python setup.py egg_info: running egg_info creating pip-egg-info\psycopg2.egg-info writing pip-egg-info\psycopg2.egg-info\PKG-INFO writing top-level names to pip-egg-info\psycopg2.egg-info\top_level.txt writing dependency_links to pip-egg-info\psycopg2.egg-info\dependency_links.txt writing manifest file 'pip-egg-info\psycopg2.egg-info\SOURCES.txt' warning: manifest_maker: standard file '-c' not found 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 Storing complete log in C:\Documents and Settings\anlopes\Application Data\pip\p ip.log 

Mi pregunta, ¿solo necesito hacer esto para que el psycopg2 funcione?

 python setup.py build_ext --pg-config /path/to/pg_config build ... 

Encontré esta publicación buscando una solución de Linux para este problema.

Esta publicación de “goshawk” me dio la solución: ejecute sudo apt-get install libpq-dev python-dev si está en Ubuntu / Debian.

Actualizar

Como más personas han encontrado útil esta respuesta y han publicado sus propias soluciones, aquí hay una lista de ellas:

Debian / Ubuntu

Python 2

 sudo apt install libpq-dev python-dev 

Python 3

 sudo apt install libpq-dev python3-dev 

Adicional

Si ninguno de los anteriores resuelve su problema, intente

 sudo apt install build-essential 

o

 sudo apt install postgresql-server-dev-all 

En CentOS, necesitas los paquetes de desarrollo postgres:

 sudo yum install python-devel postgresql-devel 

Esa fue la solución en CentOS 6 por lo menos.

En Mac Mavericks con Postgres.app versión 9.3.2.0 RC2 necesitaba usar el siguiente código después de instalar Postgres:

sudo PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin pip install psycopg2

si estás en un mac puedes usar homebrew

 brew install postgresql 

Y todas las demás opciones están aquí: http://www.postgresql.org/download/macosx/

Buena suerte

Recientemente configuré psycopg2 en una máquina de Windows. La instalación más fácil es usar un binario ejecutable de Windows. Puede encontrarlo en http://stickpeople.com/projects/python/win-psycopg/ .

Para instalar el binario nativo en un entorno virtual, use easy_install:

 C:\virtualenv\Scripts\> activate.bat (virtualenv) C:\virtualenv\Scripts\> easy_install psycopg2-2.5.win32-py2.7-pg9.2.4-release.exe 

Para Python 3 debe usar sudo apt-get install libpq-dev python3-dev en Debian.

Esto es lo que funcionó para mí (En RHEL, CentOS:

 sudo yum install postgresql postgresql-devel python-devel 

Y ahora incluya la ruta a su directorio binario postgresql con su instalación de pip:

 sudo PATH=$PATH:/usr/pgsql-9.3/bin/ pip install psycopg2 

Asegúrate de incluir el camino correcto. Eso es todo 🙂

ACTUALIZACIÓN: para python 3, instale python3-devel lugar de python-devel

Si usa Mac OS, debe instalar PostgreSQL desde la fuente. Una vez finalizada la instalación, debe agregar esta ruta mediante:

 export PATH=/local/pgsql/bin:$PATH 

o puedes añadir el camino así:

 export PATH=.../:usr/local/pgsql/bin 

en su archivo .zshrc o archivo .zshrc .

Esto puede variar según el sistema operativo.

Puede seguir el proceso de instalación desde http://www.thegeekstuff.com/2009/04/linux-postgresql-install-and-configure-from-source/

Las respuestas hasta ahora son demasiado parecidas a recetas mágicas. El error que recibió le dice que pip no puede encontrar una parte necesaria de la biblioteca de consultas de PostgreSQL. Posiblemente esto se deba a que lo tiene instalado en un lugar no estándar para su sistema operativo, por lo que el mensaje sugiere usar la opción –pg-config.

Pero una razón más común es que no tienes libpq instalado. Esto ocurre comúnmente en máquinas en las que NO tiene instalado el servidor PostgreSQL porque solo desea ejecutar aplicaciones cliente, no el servidor en sí. Cada sistema operativo / distribución es diferente, por ejemplo, en Debian / Ubuntu necesita instalar libpq-dev. Esto le permite comstackr y vincular código contra la biblioteca de consultas PostgreSQL.

La mayoría de las respuestas también sugieren instalar una biblioteca de desarrollo de Python. Ten cuidado. Si solo está utilizando el Python predeterminado instalado por su distro, eso funcionará, pero si tiene una versión más reciente, podría causar problemas. Si ha creado Python en esta máquina, entonces ya tiene las bibliotecas de desarrollo necesarias para comstackr las bibliotecas de C / C ++ para interactuar con Python. Mientras esté utilizando la versión pip correcta, la que está instalada en la misma carpeta bin que el binario de python, entonces estará todo listo. No es necesario instalar la versión antigua.

En Debian/Ubuntu :

Primero instala y construye dependencias del paquete psycopg2 :

 # apt-get build-dep python-psycopg2 

Luego, en su entorno virtual, compile e instale el módulo psycopg2 :

 (env)$ pip install psycopg2 

He hecho esto antes de instalar Windows en tu instalación básica de python.

Luego, usted copia manualmente el psycopg2 instalado a la instalación virtualenv.

No es bonito, pero funciona.

Además de instalar los paquetes necesarios, también necesitaba agregar manualmente el directorio bin de PostgreSQL a PATH.
$vi ~/.bash_profile
Agregue PATH=/usr/pgsql-9.2/bin:$PATH antes de export PATH .
$source ~/.bash_profile
$pip install psycopg2

En Windows XP obtienes este error si postgres no está instalado …

Instalé Postgresql92 utilizando el repository RedHat / CentOS en el sitio de descargas de PG http://www.postgresql.org/download/linux/redhat/

Para obtener pg_config, tuve que agregar /usr/pgsql-9.2/bin a PATH.

He estado luchando con esto durante días, y finalmente he descubierto cómo hacer que el comando “pip install psycopg2” se ejecute en un virtualenv en Windows (ejecutando Cygwin).

Estaba presionando el “ejecutable pg_config no encontrado”. error, pero ya había descargado e instalado postgres en Windows. Se instaló en Cygwin también; ejecutar “which pg_config” en Cygwin dio “/ usr / bin / pg_config”, y ejecutar “pg_config” dio una salida sensata, sin embargo, la versión instalada con Cygwin es:

VERSIÓN = PostgreSQL 8.2.11

Esto no funcionará con la versión actual de psycopg2, que parece requerir al menos 9.1. Cuando agregué “c: \ Archivos de progtwig \ PostgreSQL \ 9.2 \ bin” a mi ruta de Windows, el instalador de Cygwin pip pudo encontrar la versión correcta de PostgreSQL y pude instalar el módulo con éxito usando pip. (Esto es probablemente preferible a usar la versión Cygwin de PostgreSQL de todos modos, ya que la versión nativa se ejecutará mucho más rápido).

En Fedora 24: para Python 3.x

 sudo dnf install postgresql-devel python3-devel sudo dnf install redhat-rpm-config 

Activa tu entorno virtual:

 pip install psycopg2 

Para los usuarios humildes de Windows se quedaron atascados al tener que instalar psycopg2 desde el enlace a continuación, solo instálelo en cualquier instalación de Python que haya configurado. Colocará la carpeta llamada “psycopg2” en la carpeta de paquetes de sitio de su instalación de python.

Después de eso, simplemente copie esa carpeta en el directorio de paquetes de sitio de su virtualenv y no tendrá problemas.

Aquí está el enlace que puede encontrar el ejecutable para instalar psycopg2

http://www.lfd.uci.edu/~gohlke/pythonlibs/

En OpenSUSE 13.2, esto lo solucionó:

 sudo zypper in postgresql-devel 

Podría instalarlo en una máquina con Windows y usar Anaconda / Spyder con python 2.7 mediante los siguientes comandos:

  !pip install psycopg2 

Luego para establecer la conexión a la base de datos:

  import psycopg2 conn = psycopg2.connect(dbname='dbname',host='host_name',port='port_number', user='user_name', password='password') 

En distribuciones de base de arco :

 sudo pacman -S python-psycopg2 pip2 install psycopg2 # Use pip or pip3 to python3 

Psycopg2 Depende de las Bibliotecas Postgres. En Ubuntu puedes usar:

 apt-get install libpq-dev 

Entonces:

 pip install psycopg2 

En Ubuntu solo necesitaba el paquete postgres dev:

 sudo apt-get install postgresql-server-dev-all 

* Probado en un virtualenv

En OSX 10.11.6 (El Capitán)

 brew install postgresql PATH=$PATH:/Library/PostgreSQL/9.4/bin pip install psycopg2 

En OSX con macports:

 sudo port install postgresql96 export PATH=/opt/local/lib/postgresql96/bin:$PATH 

si pip no está funcionando, puede descargar el archivo .whl desde aquí https://pypi.python.org/pypi/psycopg2 extraerlo … que python setup.py install

Prueba esto en Gentoo :

 emerge dev-libs/libpqxx