我需要为psycopg2
安装过程安装openerp
,但我总是发现错误。我已使用pip
和easy_install
,我的gcc
是最新版本。真的需要你的帮助来解决我的问题...
这是我使用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
答案 0 :(得分:32)
你需要安装PostgreSQL的开发包,例如在Ubuntu下面是sudo apt-get install libpq-dev
...而对于CentOS来说是yum install postgresql-devel
答案 1 :(得分:30)
对于CentOS的情况,我遇到了同样的问题,我解决了安装这些软件包的问题:
sudo yum install postgresql-libs
sudo yum install postgresql-devel
sudo yum install python-devel
只有这样,我才能成功地执行:
sudo easy_install psycopg2
答案 2 :(得分:14)
5月您的系统缺少Python标头。要解决此问题,请运行:
sudo apt-get install python-dev
或
sudo apt-get install python3-dev
答案 3 :(得分:7)
在EC2实例上的新的ubuntu 14.04.2 LTS上,我能够在安装以下软件包之后安装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
在新的AMI linux(CentOS)实例上:
sudo yum install postgresql-devel
sudo yum install gcc*
希望它有所帮助,
埃雷兹
答案 4 :(得分:5)
我一直在尝试在普通的Amazon Linux EC2实例上安装pgsql,并且一直在收到此错误。根据Nicolás的回答,我安装了他建议的软件包列表,但我继续得到错误。仔细查看错误,我注意到 web page with content items
[type1] [default] [type2] [default] []
[] [] [] [] []
命令包含pgsql93文件:
gcc
查看
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/
。所以我看看安装了什么与pgsql相关的yum软件包,我注意到了这些:
pgsql93/
在我看来应该有一个
postgresql92.x86_64
postgresql92-devel.x86_64
postgresql92-libs.x86_64
postgresql93.x86_64
postgresql93-libs.x86_64
,所以我试过了:
postgresql93-devel
这解决了我的问题!所以我猜主题是:看看gcc调用,看看它的内容是什么?。跟着那里的面包屑。
答案 5 :(得分:3)
对于Ubuntu 14.04
,来自Docker image 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
包。这对我来说至关重要。
答案 6 :(得分:3)
在centos 7.我使用sudo yum install postgresql96-devel.x86_64
来解决我的问题。
答案 7 :(得分:2)
gcc的调用失败,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
在搜索路径中无处可用。
答案 8 :(得分:2)
我遇到了这个问题,但是可以通过运行来解决:
pip install -Iv psycopg2==2.7.7
安装最新版本+ python3.7时出现问题
答案 9 :(得分:1)
对我来说,缺少的包是
libpqxx-devel.x86_64
答案 10 :(得分:1)
这在Ubuntu Server 14.10 64位上对我有用:
sudo apt-get install libpqxx-dev
答案 11 :(得分:1)
psycopg2也可以以轮包的形式在PyPI上用于最常见的平台(Linux,OSX,Windows):这应该使您能够安装模块的二进制版本,而不需要上面的构建或运行时先决条件
您可以使用以下命令:pip install psycopg2-binary
注意psycopg2-binary软件包是供初学者使用Python和PostgreSQL而不需要满足构建要求的。 如果您是依赖于psycopg2的发布程序包的维护者,则不应将“ psycopg2-binary”用作模块依赖项。对于生产用途,建议您使用源分发。