我在virtualenv中安装psycopg2时遇到了问题.
我在那里尝试了不同的东西:http://www.saltycrane.com/blog/2009/07/using-psycopg2-virtualenv-ubuntu-jaunty/
我尝试的最后一件事就是这个......
我创建了一个virtualenv,-p python2.5 --no-site-packages
我安装了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:
有谁知道如何解决这个问题?
谢谢.
从python-list:
Diez: 安装python-dev-package.它包含Python.h文件,上面的错误信息非常清楚地说明了这一点.通常,最好搜索debian/ubuntu包的包描述以查找缺少的头文件以了解要安装的内容.
帕斯卡尔: 它已经安装好了; 至少对于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).