我在virtualenv中安装psycopg2时遇到了问题。
我尝试了不同的解释:http://www.saltycrane.com/blog/2009/07/using-psycopg2-virtualenv-ubuntu-jaunty/
我尝试的最后一件事是......
我创建了一个带有-p python2.5 --no-site-packages
的virtualenv
我安装了libpq-dev:apt-get install libpq-dev
在virtualenv中,我这样做了:easy_install -i http://downloads.egenix.com/python/index/ucs4/ egenix-mx-base
然后当我尝试pip install psycopg2==2.0.7
时,我收到了这个错误:
Installing collected packages: psycopg2
Running setup.py install for psycopg2
building 'psycopg2._psycopg' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION="2.2.2 (dt dec ext pq3)" -DPG_VERSION_HEX=0x080404 -DPSYCOPG_EXTENSIONS=1 -DPSYCOPG_NEW_BOOLEAN=1 -DHAVE_PQFREEMEM=1 -DHAVE_PQPROTOCOL3=1 -I/usr/include/python2.5 -I. -I/usr/include/postgresql -I/usr/include/postgresql/8.4/server -c psycopg/psycopgmodule.c -o build/temp.linux-i686-2.5/psycopg/psycopgmodule.o -Wdeclaration-after-statement
psycopg/psycopgmodule.c:27:20: error: Python.h: No such file or directory
In file included from psycopg/psycopgmodule.c:31:
./psycopg/python.h:31:26: error: structmember.h: No such file or directory
./psycopg/python.h:34:4: error: #error "psycopg requires Python >= 2.4"
In file included from psycopg/psycopgmodule.c:32:
有谁知道如何解决这个问题? 感谢。
答案 0 :(得分:6)
来自python-list:
迭: 安装python-dev-package。它 包含Python.h文件,其中 上面的错误信息很清楚 说。通常,这是一个好主意 搜索包的描述 debian / ubuntu包丢失 头文件知道要安装什么。
帕斯卡: 它已经安装好了;至少为 Python 2.6,也不确定它是否正确 Python 2.5。 python2.5-dev不可用但是 python-old-doctools似乎取而代之。
迭: 它是100%不正确的 的python2.5。如错误消息所示 - 它丢失了。 如果它在某个地方不可用,那么你 应该考虑构建python 你自己,如果你必须使用2.5。
亚历: Ubuntu 10.04没有完整版 Python 2.5打包,如下所示 缺乏python2.5-dev。你需要 使用Python 2.6或绝对是 必须使用Python 2.5构建它 来源,尝试Debian软件包或交换机 发行。 python-old-doctools没有 替换python- dev,它看起来像 提出要保留一些乳胶工具 工作
Pascal:我终于创造了一个virtualenv 使用Python 2.6,一切都很顺利 (使用最新版本的psycopg2)。