2012-10-16 221 views
16

我需要爲openerp安裝psycopg2安裝過程,但我總是發現錯誤。我已經使用pipeasy_install,我的gcc是最新版本。真的需要你的幫助來解決我的問題......錯誤:安裝psycopg2時,命令'gcc'失敗,退出狀態

這是我用的easy_install完整的錯誤..

[[email protected] ~]# 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 

回答

2

海合會調用失敗,GCC無法編譯源。也許原因是

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

的頭libpq-fe.h是無處在搜索路徑中,如果你有它。

+0

我該怎麼處理libpq-fe.h? 你能給我更多的解釋嗎? –

+0

檢查你是否有它。如果沒有,請安裝提供它的包,libpq-devel或libpq-dev或類似的東西,具體取決於分發。 –

31

你需要安裝開發包PostgreSQL的,這對於例如Ubuntu的下一個sudo apt-get install libpq-dev ...併爲CentOS是yum install postgresql-devel

+7

我做了但仍然有同樣的錯誤。 –

14

願你的系統缺少Python的頭。爲了解決這個問題,運行:

sudo apt-get install python-dev 

sudo apt-get install python3-dev 
+0

這工作對我 – tomwolber

+1

我搜查了30分鐘。安裝了python-psycopg2,postgresql-server-dev-9.1,postgresql-plpython-9.1和libpq-dev。仍然有'gcc'失敗,退出狀態爲1.現在用python-dev它工作正常;-) – surfi

+2

除非你使用CentOS – hafichuk

26

爲CentOS的情況下,我有這個同樣的問題,我解決了安裝這些軟件包:

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

才,我能夠成功執行:

sudo easy_install psycopg2 
+6

感謝您不要假設每個人都使用Debian的。 +1 – hafichuk

1

對於我來說,缺少的包是

libpqxx-devel.x86_64 
1

這爲我工作Ubuntu服務器上14.10 64位:

sudo apt-get install libpqxx-dev 
2

Ubuntu 14.04,從碼頭工人形象python:3.4.3-slim這樣的組合爲我工作:

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 

注意build-essential包。這對我來說至關重要。

+1

我在這之前嘗試過所有的東西,終於修好了。還運行一個docker鏡像,所以幾乎只是將你的代碼複製到我的dockerfile中,它就像一個魅力一樣 – Simon

7

在一個新的Ubuntu上EC2實例14.04.2 LTS,我能夠instaling以下軟件包後安裝psycopg2:

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 

而且在新的Linux AMI(CentOS的),例如:

sudo yum install postgresql-devel 
sudo yum install gcc* 

希望它能幫助,

埃雷茲

5

我一直在試圖研究所一個普通的Amazon Linux EC2實例上的所有pgsql,並且已經得到這個錯誤。 PerNicolás的回答是,我安裝了他建議的軟件包列表,但我仍然遇到了錯誤。在誤差更仔細地觀察,我注意到gcc命令是包括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

展望/usr/include/我看到pgsql92/但不pgsql93/。所以我把什麼都裝的pgsql有關百勝包一看,我發現這些:

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

在我看來,像有應該是一個postgresql93-devel,所以我嘗試:

sudo yum install postgresql93-devel

這就解決了我的問題!所以我猜主題是:看看gcc的通話,看看它在中拉扯什麼。跟隨那裏的麪包屑。

3

在centos 7.我會用sudo yum install postgresql96-devel.x86_64來解決我的問題。

相關問題