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 ...
python
virtualenv
psycopg2
pip
André
fuente
fuente
sudo apt install libpq-dev python3.4-dev
osudo apt install libpq-dev python3.5-dev
Respuestas:
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 hay soluciones para usuarios de Linux y Mac, ya que muchos de ellos encuentran esta publicación a través de búsquedas web.
Opción 1
Instale el
psycopg2-binary
paquete PyPI en su lugar, tiene ruedas Python para Linux y Mac OS.opcion 2
Instale los requisitos previos para compilar el
psycopg2
paquete desde el origen:Debian / Ubuntu
Python 3
Es posible que necesite instalar
python3.8-dev
o similar, por ejemplo, Python 3.8.Python 2 1
Si eso no es suficiente, intente
o
también antes de instalar psycopg2 nuevamente.
CentOS 6
Ver la respuesta de Banjer
1 realmente? Es 2020
fuente
*-dev
paquetes contienen los archivos necesarios para compilar una aplicación de origen que usa las funciones proporcionadas por la biblioteca (comopsycopg2
las bibliotecaslibpq
ypython
, entre otras).sudo apt-get install postgresql-server-dev-all
sudo apt-get install -y build-essential
En CentOS, necesita los paquetes de desarrollo de postgres:
Esa fue la solución en CentOS 6 al menos.
fuente
sudo yum install python36-devel
(reemplace 36 con su versión de Python 3).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
fuente
PATH=$PATH:/Library/PostgreSQL/9.4/bin pip install psycopg2
.si estás en una Mac puedes usar homebrew
Y todas las demás opciones están aquí: http://www.postgresql.org/download/macosx/
Buena suerte
fuente
virtualenv
forma en que el OP preguntó.Recientemente configuré psycopg2 en una máquina con 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:
fuente
Para Python 3 debe usar
sudo apt-get install libpq-dev python3-dev
bajo Debian.fuente
Esto es lo que funcionó para mí (en RHEL, CentOS:
Y ahora incluya la ruta a su directorio binario postgresql con su instalación pip:
Asegúrese de incluir la ruta correcta. Eso es todo :)
ACTUALIZACIÓN: para python 3, instale en
python3-devel
lugar depython-devel
fuente
Si usa Mac OS, debe instalar PostgreSQL desde la fuente. Una vez finalizada la instalación, debe agregar esta ruta utilizando:
o puede agregar la ruta de esta manera:
en su
.profile
archivo o.zshrc
archivo.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/
fuente
Las respuestas hasta ahora son muy parecidas a las recetas mágicas. El error que recibió le indica que pip no puede encontrar una parte necesaria de la biblioteca de consultas PostgreSQL. Posiblemente esto se deba a que lo tiene instalado en un lugar no estándar para su sistema operativo, razón por la cual el mensaje sugiere usar la opción --pg-config.
Pero una razón más común es que no tiene libpq instalado en absoluto. Esto ocurre comúnmente en máquinas donde 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 compilar y vincular código con 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 distribución, eso funcionará, pero si tiene una versión más nueva, podría causar problemas. Si ha construido Python en esta máquina, entonces ya tiene las bibliotecas de desarrollo necesarias para compilar bibliotecas C / C ++ para interactuar con Python. Siempre que esté utilizando la versión correcta de pip, la instalada en la misma carpeta bin que el binario de python, ya está todo listo. No es necesario instalar la versión anterior.
fuente
En
Debian/Ubuntu
:Primero instale y cree dependencias del
psycopg2
paquete:Luego, en su entorno virtual, compile e instale el
psycopg2
módulo:fuente
He hecho esto antes, donde en Windows instalas primero en tu instalación base de Python.
Luego, copia manualmente el psycopg2 instalado a la instalación virtualenv.
No es bonito, pero funciona.
fuente
venv
. Pude instalar fuera del entorno virtual, no hay problema. Luego, literalmente copié ese archivo del directorio de la biblioteca de paquetes de Python y lo pegué en el mismo dentro devenv
. Mi presentimiento es que, debido a que mis versiones de Python son distribuciones de Anaconda, que había algo mal con la ruta que se suponía / usaba.Además de instalar los paquetes requeridos, también necesitaba agregar manualmente el directorio bin PostgreSQL a PATH.
$vi ~/.bash_profile
Añadir
PATH=/usr/pgsql-9.2/bin:$PATH
antesexport PATH
.$source ~/.bash_profile
$pip install psycopg2
fuente
En Windows XP, obtiene este error si Postgres no está instalado ...
fuente
Instalé Postgresql92 usando el repositorio 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.
fuente
Antes de poder instalar psycopg2, deberá instalar el paquete python-dev.
Si está trabajando desde Linux (y posiblemente otros sistemas, pero no puedo hablar por experiencia), deberá asegurarse de ser bastante exacto sobre qué versión de Python está ejecutando al instalar el paquete de desarrollo.
Por ejemplo cuando usé el comando:
Todavía me encontré con el mismo error al intentar
Como estoy usando Python 3.7, necesitaba usar el comando
Una vez que hice esto, no me encontré con más problemas. Obviamente, si estás en Python versión 3.5, cambiarías ese 7 a 5.
fuente
sudo apt-get install python-x.x-dev
solucionó el problema.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 golpeando el "pg_config ejecutable no encontrado". error, pero ya había descargado e instalado postgres en Windows. También se instaló en Cygwin; 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 programa \ PostgreSQL \ 9.2 \ bin" a mi ruta de Windows, el instalador pip de Cygwin pudo encontrar la versión correcta de PostgreSQL y pude instalar el módulo con éxito usando pip. (Esto probablemente es 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).
fuente
En Fedora 24: para Python 3.x
Active su entorno virtual:
fuente
Psycopg2 depende de las bibliotecas de Postgres. En Ubuntu puedes usar:
Entonces:
fuente
Para los usuarios humildes de Windows que tuvieron que instalar psycopg2 desde el siguiente enlace, simplemente instálelo en cualquier instalación de Python que haya configurado. Colocará la carpeta llamada "psycopg2" en la carpeta de paquetes del 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 donde puedes encontrar el ejecutable para instalar psycopg2
http://www.lfd.uci.edu/~gohlke/pythonlibs/
fuente
En OpenSUSE 13.2, esto lo solucionó:
fuente
Podría instalarlo en una máquina con Windows y usar Anaconda / Spyder con python 2.7 a través de los siguientes comandos:
Luego, para establecer la conexión a la base de datos:
fuente
psql -l
, host localhost, puerto de base de datos predeterminado 5432, usuario enumerado\du
una vez que ingresa a psql y adivina la contraseña.En distribuciones base de Arch :
fuente
si pip no funciona, puede descargar el archivo .whl desde aquí https://pypi.python.org/pypi/psycopg2 extraerlo ... que
python setup.py install
fuente
En Ubuntu solo necesitaba el paquete de desarrollo de postgres:
* Probado en un virtualenv
fuente
En OSX 10.11.6 (El Capitan)
fuente
brew install postgresql PATH=$PATH:/usr/local/Cellar/postgresql/9.6.2/bin/ pip install psycopg2
En OSX con macports:
fuente
Estaba teniendo este problema, la razón principal fue con 2 versiones iguales instaladas. Uno por postgres.app y uno por HomeBrew.
Si elige conservar solo la APLICACIÓN:
fuente
En macOS Mojave, asegúrese de que en la última actualización con Command Line Tools 10.3, que funcionó para mí, lo actualizó con Actualización de software, la versión anterior de Command Line Tools en Mojave no funcionó para mí.
fuente
Prueba esto en
Gentoo
:fuente
En Windows, así es como funciona
En el símbolo del sistema después de instalar el matraz a través de pip en un entorno virtual, ejecute este comando
Mira esto
fuente