python3 - error: el comando ''gcc'' falló con el estado de salida al instalar psycopg2
python 3.6 5 centos (10)
Necesito instalar psycopg2
para el proceso de instalación de openerp
, pero siempre encontré ese error. Ya he usado pip
y easy_install
, mi gcc
es la última versión. Realmente necesito tu ayuda para resolver mi problema ...
este es mi error completo con easy_install ..
[root@server01 ~]# easy_install psycopg2
Searching for psycopg2
Reading http://pypi.python.org/simple/psycopg2/
Reading http://initd.org/psycopg/
Reading http://initd.org/projects/psycopg2
Best match: psycopg2 2.4.5
Downloading http://initd.org/psycopg/tarballs/PSYCOPG-2-4/psycopg2-2.4.5.tar.gz
Processing psycopg2-2.4.5.tar.gz
Running psycopg2-2.4.5/setup.py -q bdist_egg --dist-dir /tmp/easy_install-anWVvJ/psycopg2-2.4.5/egg-dist-tmp-cZbdtn
no previously-included directories found matching ''doc/src/_build'' In file included from psycopg/psycopgmodule.c:27:
./psycopg/psycopg.h:31:22: error: libpq-fe.h: No such file or directory In file included from psycopg/psycopgmodule.c:29:
...
error: Setup script exited with error: command ''gcc'' failed with exit status 1
Deberá instalar el paquete de desarrollo para PostgreSQL, que, por ejemplo, en Ubuntu es un sudo apt-get install libpq-dev
... y para CentOS es yum install postgresql-devel
En centos 7. Usaría sudo yum install postgresql96-devel.x86_64
para resolver mi problema.
En un ubuntu fresco 14.04.2 LTS en una instancia de EC2, pude instalar psycopg2 después de instalar los siguientes paquetes:
sudo apt-get install gcc
sudo apt-get install postgres-xc-server-dev
sudo apt-get install libpq-dev
sudo apt-get install postgresql-client-common
sudo apt-get install postgresql-common
Y en una nueva instancia de AMI Linux (CentOS):
sudo yum install postgresql-devel
sudo yum install gcc*
Espero eso ayude,
Erez
Esto me funcionó en Ubuntu Server 14.10 de 64 bits:
sudo apt-get install libpqxx-dev
He estado intentando instalar pgsql en una instancia simple de Amazon Linux EC2 y he estado recibiendo este error. Según la respuesta de Nicolás, instalé su lista sugerida de paquetes, pero continué recibiendo el error. Al observar más de cerca el error, noté que el comando gcc
incluía archivos pgsql93:
gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION="2.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_HEX=0x09030A -DHAVE_LO64=1 -I/usr/include/python2.7 -I. -I/usr/include/pgsql93 -I/usr/include/pgsql93/server -c psycopg/psycopgmodule.c -o build/temp.linux-x86_64-2.7/psycopg/psycopgmodule.o -Wdeclaration-after-statement
Buscando en /usr/include/
veo pgsql92/
pero no pgsql93/
. Así que eché un vistazo a los paquetes yum relacionados con pgsql que se instalaron y noté esto:
postgresql92.x86_64 postgresql92-devel.x86_64 postgresql92-libs.x86_64 postgresql93.x86_64 postgresql93-libs.x86_64
Me pareció que debería haber un postgresql93-devel
, así que intenté:
sudo yum install postgresql93-devel
¡Y eso me solucionó el problema! Así que supongo que el tema es: mire la llamada de gcc y vea qué dir . Sigue las migajas desde allí.
La invocación de gcc falló, gcc no pudo compilar la fuente. Probablemente la causa es
./psycopg/psycopg.h:31:22: error: libpq-fe.h: No such file or directory In file included from psycopg/psycopgmodule.c:29:
que el encabezado libpq-fe.h
no está en ninguna parte de la ruta de búsqueda, si es que lo tiene.
Para Ubuntu 14.04
, desde la imagen de Docker python:3.4.3-slim
esta combinación funcionó para mí:
sudo apt-get update
sudo apt-get install -y build-essential
sudo apt-get install -y python3.4-dev
sudo apt-get install -y libpq-dev
pip3 install psycopg2
Tenga en cuenta el paquete build-essential
. Fue crucial en mi caso.
Para el caso de CentOS, tuve el mismo problema que resolví instalando estos paquetes:
sudo yum install postgresql-libs
sudo yum install postgresql-devel
sudo yum install python-devel
Sólo entonces pude realizar con éxito:
sudo easy_install psycopg2
Para mí, el paquete que faltaba era
libpqxx-devel.x86_64
Puede que a tu sistema le falten los encabezados de Python. Para arreglar esto, ejecute:
sudo apt-get install python-dev
o
sudo apt-get install python3-dev