Ответ 1
Вам нужно будет установить пакет разработки для PostgreSQL, который, например, под Ubuntu, является sudo apt-get install libpq-dev
... и для CentOS it yum install postgresql-devel
Мне нужно установить psycopg2
для openerp
процесса установки, но я всегда обнаружил эту ошибку. Я уже использовал pip
и easy_install
, моя gcc
- последняя версия. На самом деле нужна ваша помощь для решения моей проблемы...
это моя полная ошибка с easy_install..
[[email protected] ~]# easy_install psycopg2
Searching for psycopg2
Reading http://pypi.python.org/simple/psycopg2/
Reading http://initd.org/psycopg/
Reading http://initd.org/projects/psycopg2
Best match: psycopg2 2.4.5
Downloading http://initd.org/psycopg/tarballs/PSYCOPG-2-4/psycopg2-2.4.5.tar.gz
Processing psycopg2-2.4.5.tar.gz
Running psycopg2-2.4.5/setup.py -q bdist_egg --dist-dir /tmp/easy_install-anWVvJ/psycopg2-2.4.5/egg-dist-tmp-cZbdtn
no previously-included directories found matching 'doc/src/_build' In file included from psycopg/psycopgmodule.c:27:
./psycopg/psycopg.h:31:22: error: libpq-fe.h: No such file or directory In file included from psycopg/psycopgmodule.c:29:
...
error: Setup script exited with error: command 'gcc' failed with exit status 1
Вам нужно будет установить пакет разработки для PostgreSQL, который, например, под Ubuntu, является sudo apt-get install libpq-dev
... и для CentOS it yum install postgresql-devel
Для случая CentOS у меня была такая же проблема, что я решил установить эти пакеты:
sudo yum install postgresql-libs
sudo yum install postgresql-devel
sudo yum install python-devel
только тогда я смог успешно выполнить:
sudo easy_install psycopg2
Возможно, в вашей системе отсутствуют заголовки Python. Чтобы исправить это, запустите:
sudo apt-get install python-dev
или
sudo apt-get install python3-dev
На новом ubuntu 14.04.2 LTS на экземпляре EC2 мне удалось установить psycopg2 после установки следующих пакетов:
sudo apt-get install gcc
sudo apt-get install postgres-xc-server-dev
sudo apt-get install libpq-dev
sudo apt-get install postgresql-client-common
sudo apt-get install postgresql-common
И в новом экземпляре AMI linux (CentOS):
sudo yum install postgresql-devel
sudo yum install gcc*
Надеюсь, что это поможет,
Эрез
Я пытаюсь установить pgsql на простой экземпляр Amazon Linux EC2 и получаю эту ошибку. Ответ на Nicolás, я установил его предлагаемый список пакетов, но я продолжал получать ошибку. Более внимательно посмотрев на ошибку, я заметил, что команда gcc
включала файлы pgsql93:
gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION="2.6.1 (dt dec pq3 ext lo64)" -DPG_VERSION_HEX=0x09030A -DHAVE_LO64=1 -I/usr/include/python2.7 -I. -I/usr/include/pgsql93 -I/usr/include/pgsql93/server -c psycopg/psycopgmodule.c -o build/temp.linux-x86_64-2.7/psycopg/psycopgmodule.o -Wdeclaration-after-statement
Глядя в /usr/include/
, я вижу pgsql92/
, но не pgsql93/
. Поэтому я посмотрел, какие пакеты, связанные с pgsql, были установлены, и я заметил их:
postgresql92.x86_64
postgresql92-devel.x86_64
postgresql92-libs.x86_64
postgresql93.x86_64
postgresql93-libs.x86_64
Мне кажется, что там должно быть postgresql93-devel
, поэтому я попробовал:
sudo yum install postgresql93-devel
И это исправило проблему для меня! Поэтому я предполагаю, что тема такова: Посмотрите на вызов gcc и посмотрите, что он держит в. Следуйте за крошками оттуда.
В centos 7. Я бы использовал sudo yum install postgresql96-devel.x86_64
для решения моей проблемы.
Вызов gcc не удалось, gcc не смог скомпилировать источник. Вероятно, причиной является
./psycopg/psycopg.h:31:22: error: libpq-fe.h: No such file or directory In file included from psycopg/psycopgmodule.c:29:
что заголовок libpq-fe.h
нигде не находится в пути поиска, если он у вас есть.
Для Ubuntu 14.04
, из изображения Docker python:3.4.3-slim
эта комбинация работала для меня:
sudo apt-get update
sudo apt-get install -y build-essential
sudo apt-get install -y python3.4-dev
sudo apt-get install -y libpq-dev
pip3 install psycopg2
Примечание build-essential
. Это было важно в моем случае.
Для меня недостающий пакет был
libpqxx-devel.x86_64
Это работало для меня на Ubuntu Server 14.10 64-бит:
sudo apt-get install libpqxx-dev
у меня была эта проблема, но она была решена запуском:
pip install -Iv psycopg2==2.7.7
Возникла проблема с установкой последней версии + python3.7