$ yum install python3 postgresql python-devel libpqxx-devel
Loaded plugins: langpacks, refresh-packagekit
Package python3-3.3.2-8.fc20.x86_64 already installed and latest version
Package postgresql-9.3.2-2.fc20.x86_64 already installed and latest version
Package python-devel-2.7.5-9.fc20.x86_64 already installed and latest version
Package 1:libpqxx-devel-3.2-0.5.fc20.x86_64 already installed and latest version
Nothing to do
我正在尝试在我的virtualenv中安装psycopg2以将django与postgresql数据库连接。
在Fedora 19和postgresql-9.2中,pg_config的路径是:
/usr/pgsql-9.2/bin
在Fedora 20中,此目录不存在。
但是pg_config可以在/usr/bin/pg_config
中找到。
尝试安装psycopg2:
$ export PATH=$PATH:/usr/bin; pip install psycopg2
Downloading/unpacking psycopg2
Downloading psycopg2-2.5.2.tar.gz (685kB): 685kB downloaded
Running setup.py egg_info for package psycopg2
... -compiling output here- ...
gcc -pthread -Wno-unused-result -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION="2.5.2 (dt dec pq3 ext)" -DPG_VERSION_HEX=0x090302 -DPSYCOPG_EXTENSIONS=1 -DPSYCOPG_NEW_BOOLEAN=1 -DHAVE_PQFREEMEM=1 -I/usr/include/python3.3m -I. -I/usr/include -I/usr/include/pgsql/server -c psycopg/psycopgmodule.c -o build/temp.linux-x86_64-3.3/psycopg/psycopgmodule.o -Wdeclaration-after-statement
In file included from psycopg/psycopgmodule.c:27:0:
./psycopg/psycopg.h:30:20: fatal error: Python.h: No such file or directory
#include <Python.h>
^
compilation terminated.
error: command 'gcc' failed with exit status 1
----------------------------------------
Cleaning up...
Command /home/flyer/.virtualenvs/p3test/bin/python3 -c "import setuptools;__file__='/home/flyer/.virtualenvs/p3test/build/psycopg2/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-mrsky4-record/install-record.txt --single-version-externally-managed --install-headers /home/flyer/.virtualenvs/p3test/include/site/python3.3 failed with error code 1 in /home/flyer/.virtualenvs/p3test/build/psycopg2
Storing complete log in /home/flyer/.pip/pip.log
感谢您的帮助。
答案 0 :(得分:8)
您缺少python3包含文件
./psycopg/psycopg.h:30:20: fatal error: Python.h: No such file or directory
您可以在python3-devel
包中找到它们。
答案 1 :(得分:3)
安装python3-devel软件包以使其正常工作
sudo dnf install python3-devel
如果它工作正常或者它需要libpq-fe.h文件,那么使用以下命令安装它:
sudo dnf install postgresql-devel
答案 2 :(得分:1)
如其他答案中所示,这是由于没有正确的Python&#34; devel&#34;包安装。在CentOS上,Python&#34; devel&#34; rpm包使用限定版本进行编号。例如,在撰写本文时,当前版本是:
对于epel存储库 python34-devel
python36u-devel
用于ius存储库
示例Yum命令(假设已配置EPEL repository):
sudo yum install python34-devel
服务器故障的相关答案:https://serverfault.com/questions/710354/repository-for-python3-devel-on-centos-7
答案 3 :(得分:1)
在 Ubuntu 上。我用以下方法解决了这个问题:
sudo apt-get install libpq-dev