error: command 'gcc' failed with exit status when installing psycopg2

对着背影说爱祢 提交于 2019-11-30 06:10:47

You'll need to install the development package for PostgreSQL, which for instance under Ubuntu is a sudo apt-get install libpq-dev... and for CentOS it's yum install postgresql-devel

Nicolás Ozimica

For the case of CentOS, I had this very same problem, that I solved installing these packages:

sudo yum install postgresql-libs
sudo yum install postgresql-devel
sudo yum install python-devel

only then, I was able to perform successfully:

sudo easy_install psycopg2
Heroic

May Your system is missing the Python headers. To fix this, run:

sudo apt-get install python-dev

or

sudo apt-get install python3-dev
ErezK

On a fresh ubuntu 14.04.2 LTS on an EC2 instance, I was able to install psycopg2 after instaling the following packages:

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

And on a fresh AMI linux (CentOS) instance:

sudo yum install postgresql-devel
sudo yum install gcc*

Hope it helps,

Erez

I've been trying to install pgsql on a plain Amazon Linux EC2 instance, and have been getting this error. Per Nicolás answer, I installed his suggested list of packages, but I continued to get the error. Looking more closely at the error, I noticed that the gcc command was including pgsql93 files:

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

Looking in /usr/include/ I see pgsql92/ but not pgsql93/. So I took a look at what pgsql-related yum packages were installed and I noticed these:

postgresql92.x86_64 postgresql92-devel.x86_64 postgresql92-libs.x86_64 postgresql93.x86_64 postgresql93-libs.x86_64

Seemed to me like there ought to be a postgresql93-devel, so I tried:

sudo yum install postgresql93-devel

And that fixed the problem for me! So I guess the theme is: Look at the gcc call, and see what dir it's pulling in. Follow the crumbs from there.

i had this problem but was solved by running:

pip install -Iv psycopg2==2.7.7

There is a problem installing the latest version + python3.7

For Ubuntu 14.04, from Docker image python:3.4.3-slim this combination worked for me:

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

Note build-essential package. It was crucial in my case.

In centos 7. i'd use sudo yum install postgresql96-devel.x86_64 to solved my problem.

The invocation of gcc failed, gcc couldn't compile the source. Probably the cause is

./psycopg/psycopg.h:31:22: error: libpq-fe.h: No such file or directory In file included from psycopg/psycopgmodule.c:29:

that the header libpq-fe.h is nowhere in the search path if you have it at all.

For me, the missing package was

libpqxx-devel.x86_64

This worked for me on Ubuntu Server 14.10 64-bit:

sudo apt-get install libpqxx-dev
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!