Установка psycopg2 в virtualenv (Ubuntu 10.04, Python 2.5) - PullRequest
3 голосов
/ 03 октября 2010

У меня были проблемы с установкой psycopg2 в virtualenv.

Я пробовал разные вещи, объясненные там: 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 <a href="http://downloads.egenix.com/python/index/ucs4/" rel="nofollow">http://downloads.egenix.com/python/index/ucs4/</a> 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:

Кто-нибудь знает, как это решить?
Благодаря.

1 Ответ

6 голосов
/ 05 октября 2010

Из списка python:

Diez: Установить пакет python-dev.Он содержит файл Python.h, о котором довольно четко сказано в приведенном выше сообщении об ошибке.Как правило, полезно поискать описания пакетов пакетов debian / ubuntu на предмет отсутствующих заголовочных файлов, чтобы узнать, что установить.

Pascal: Он уже установлен;по крайней мере, для Python 2.6, и не уверен, что это правильно для Python 2.5.python2.5-dev недоступен, но его заменяет python-old-doctools.

Diez: Это 100% не правильно для python20,5.Как показывает сообщение об ошибке - его нет.Если он где-то недоступен, вам следует подумать о создании 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: Я наконец создал virtualenv с Python 2.6и все прошло нормально (с последней версией psycopg2).

...