¿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 psycopg2 funcione?
python setup.py build_ext --pg-config /path/to/pg_config build ...
Nota : Desde hace un tiempo, hay ruedas binarias para Windows en PyPI, por lo que esto ya no debería ser un problema para los usuarios de Windows. A continuación se muestran soluciones para usuarios de Linux y Mac, ya que muchos de ellos encuentran esta publicación a través de búsquedas en la web.
Opción 1
Instale el psycopg2-binary
paquete PyPI en su lugar, tiene ruedas Python para Linux y Mac OS.
pip install psycopg2-binary
opcion 2
Instale los requisitos previos para compilar el psycopg2
paquete desde el código fuente:
Debian/Ubuntu
Versión de Python | Dominio | Nota |
---|---|---|
Python 3 predeterminado | sudo apt install libpq-dev python3-dev |
|
Pitón 3.x | sudo apt install libpq-dev python3.x-dev |
sustituto x al mando |
Pitón 2 | sudo apt install libpq-dev python-dev |
Si eso no es suficiente, es posible que necesites instalar adicionalmente
sudo apt install build-essential
o
sudo apt install postgresql-server-dev-all
también antes de instalar psycopg2 nuevamente.
CentOS 6
Ver la respuesta de Banjer
Mac OS
Ver la respuesta de nichochar
En CentOS, necesitas los paquetes de desarrollo de postgres:
sudo yum install python-devel postgresql-devel
Esa fue la solución al menos en CentOS 6.