3

我在 virtualenv 中安装 psycopg2 时遇到问题。

我尝试了不同的东西在那里解释:http: //www.saltycrane.com/blog/2009/07/using-psycopg2-virtualenv-ubuntu-jaunty/

我尝试的最后一件事是……
我创建了一个-p python2.5 --no-site-packages
安装了 libpq-dev 的 virtualenv: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:

有谁知道如何解决这个问题?
谢谢。

4

1 回答 1

6

从 python 列表:

Diez: 安装 python-dev-package。它包含 Python.h 文件,上面的错误消息非常清楚地说明了该文件。通常,最好搜索 debian/ubuntu 软件包的软件包描述以查找丢失的头文件以了解要安装的内容。

Pascal: 已经安装好了;至少对于 Python 2.6,也不确定它对于 Python 2.5 是否正确。python2.5-dev 不可用,但 python-old-doctools 似乎取代了它。

Diez: python2.5 100%正确。如错误消息所示 - 它丢失了。如果它在某处不可用,你应该考虑自己构建 python,如果你必须使用 2.5。

Alex: Ubuntu 10.04 没有打包完整的 Python 2.5,缺少 python2.5-dev 就证明了这一点。您需要使用 Python 2.6,或者如果您绝对必须使用 Python 2.5 从源代码构建它,请尝试使用 Debian 软件包或切换发行版。python-old-doctools 不会取代 python-dev,看起来它是为了让一些乳胶工具保持工作。

Pascal:我终于用 Python 2.6 创建了一个 virtualenv,一切都很顺利(使用最新版本的 psycopg2)。

于 2010-10-05T13:56:36.713 回答