2016-10-20 6 views
2

Эта проблема аналогична предыдущей, но не может быть решена с помощью тех же предложений.Неустранимая ошибка: Python.h: Нет такого файла или каталога - не разрешен с помощью python-devel

Я использую Centos 7. В виртуальной среде, где работает Python 3.5 (последняя стабильная версия), я пытаюсь установить psycopg2 с помощью pip3/pip/easy_install.

Во всех сценариях, я получаю следующее сообщение об ошибке:

fatal error: Python.h: No such file or directory

Я читал предыдущие темы:

psycopg: Python.h: No such file or directory

fatal error: Python.h: No such file or directory

но решения не работают. Есть идеи?

+0

Если вы используете свой virtualenv без пакетов сайта, тогда вы должны установить свои зависимости. Я считаю, что psycopg2 использует postgres-devel в качестве зависимости. Попробуйте установить это. Кто-то может поправить меня иначе. – jmugz3

+0

Использование virtualenv не имеет значения, когда дело доходит до системных зависимостей. – Maresh

+0

'python-devel', вероятно, для Python 2 в этом случае. Помогает ли этот ответ? https://serverfault.com/questions/710354/repository-for-python3-devel-on-centos-7 – jonafato

ответ

1

Если вы устанавливаете от источника существует несколько системных зависимостями, которые должны быть выполнены:

http://initd.org/psycopg/docs/install.html#install-from-source

Но Python.h, безусловно, приезжающие из питона-Devel (и python3X-разви) пакет, так что если он не найден, в вашей системе может быть что-то неправильно сконфигурированное. https://gcc.gnu.org/onlinedocs/cpp/Search-Path.html

В качестве альтернативы вы можете использовать системный пакет, используя диспетчер пакетов, чтобы он разрешал вам зависимости.

yum install python-psycopg2 # python35-psycopg2 for py3 
+0

Придется установить пакет python35-devel, у меня были предыдущие – N111ck

+0

О, я пропустил эту часть вашего вопроса. – Maresh