фатальная ошибка python h нет такого файла или каталога
Решение проблемы с ошибкой «fatal error: Python.h: Нет такого файла или каталога»
Если при компиляции программы вы получаете ошибку, что отсутствует файл Python.h, то необходимо установить дополнительный пакет.
Вам нужно обратить внимание, какая версия Python используется для компиляции программы: 2.x или 3.x. Файлы заголовков помещены в различные пакеты для этих версий, поэтому вам нужно установить правильный пакет, в соответствии с используемой при компиляции версией Python. В большинстве популярных дистрибутивов требуемый пакет имеется в стандартном репозитории, поэтому установка выполняется в одну команду.
Текст ошибки может чуть различаться, в зависимости от того, в каком файле она возникла. Примеры сообщений:
Самой вероятной причиной этого является то, что не установлены файлы заголовка и статичных библиотек для python dev. Для установки их на системном уровне используйте менеджер пакетов для вашего дистрибутива.
Для apt (Ubuntu, Debian, Kali Linux, Linux Mint…):
Если программа компилируется для python2.x, то выполните команду:
Если программа компилируется для python3.x, то выполните команду:
Для yum (CentOS, RHEL…):
Если вам нужно установить для других версий Python, то замените цифры на нужные, например:
Для dnf (Fedora…):
Для zypper (openSUSE…):
Если после установки заголовков проблема не исчезла, то возможно, что вы выбрали неверную версию Python.
фатальная ошибка: Python.h: нет такого файла или каталога
Я пытаюсь создать общую библиотеку, используя файл расширения C, но сначала мне нужно сгенерировать выходной файл с помощью команды ниже:
После выполнения команды я получаю это сообщение об ошибке:
utilsmodule.c: 1: 20: фатальная ошибка: Python.h: компиляция такого файла или каталога не прекращена.
Похоже, вы неправильно установили заголовочные файлы и статические библиотеки для python dev. Используйте менеджер пакетов, чтобы установить их для всей системы.
В Ubuntu у меня был запущен Python 3, и мне пришлось установить
Если вы хотите использовать версию Python, которая не связана с python3, установите соответствующий пакет python3.x-dev. Например:
Для Python 3.7 и Ubuntu в частности мне нужно было
sudo apt install libpython3.7-dev
, Я думаю, что в какой-то момент имена были изменены с pythonm.n-dev этого.
для Python 3.6, аналогично:
sudo apt install libpython3.6-dev
Две вещи, которые вы должны сделать.
Установите пакет разработки для Python, в случае Debian / Ubuntu / Mint это делается командой:
Во-вторых, файлы включения по умолчанию не включены в путь включения, и библиотека Python не связана с исполняемым файлом по умолчанию. Вам нужно добавить эти флаги (соответственно заменить версию Python):
Другими словами, ваша команда компиляции должна быть:
Если вы используете Raspberry Pi:
на Fedora запустите это для Python 2:
Если вы используете tox для запуска тестов на нескольких версиях Python, вам может понадобиться установить библиотеки Python для каждой версии Python, на которой вы тестируете.
Решение для Cygwin
Пример (измените setup.exe имя файла и основную версию Python, если вам нужно):
Вы также можете проверить мой другой ответ, чтобы узнать еще несколько вариантов установки пакетов Cygwin из командной строки.
В AWS API (centOS) его
Для меня изменение этого сработало:
Убедитесь, что файлы разработчика Python поставляются с вашей ОС.
Вы не должны жестко кодировать библиотеку и включать пути. Вместо этого используйте pkg-config, который выведет правильные параметры для вашей конкретной системы:
Вы можете добавить его в свою строку gcc :
Установка AWS EC2 под управлением python34:
sudo yum install python34-devel
В моем случае исправление в Ubuntu заключалось в установке пакетов libpython-all-dev (или libpython3-all-dev если вы используете Python 3).
Это не та ситуация, но она также работает для меня, и теперь я могу использовать SWIG с Python3.5 :
Я пытался скомпилировать:
С Python 2.7 работает нормально, не с моей версией 3.5:
existe_wrap.c: 147: 21: фатальная ошибка: Python.h: сборка existe el archivo o el Directorio не прекращена.
После запуска в моей установке Ubuntu 16.04:
Теперь я могу без проблем скомпилировать Python3.5:
Я также столкнулся с этой ошибкой, когда я устанавливал coolprop в Ubuntu.
Для Ubuntu 16.04 с Python 3.6
Если это не помогло, попробуйте установить / обновить gcc lib.
попробуй apt-файл. Трудно запомнить имя пакета, в котором находится отсутствующий файл. Он универсален и полезен для любых файлов пакетов.
Теперь вы можете сделать экспертное предположение о том, какой из них выбрать.
Для товарищей по OpenSuse:
Я следовал инструкциям по установке python3.6 на нескольких виртуальных машинах: https://www.digitalocean.com/community/tutorials/how-to-install-python-3-and-set-up-a-local-programming- environment-on-centos-7, а затем смог собрать mod_wsgi и заставить его работать с python3.6 virtualenv
Если вы используете Python 3.6 в Amazon Linux (на основе RHEL, но приведенные здесь ответы RHEL не сработали):
Наконец, работало исправление среды разработки для Python3.6, которое необходимо исправить с помощью include и libs.
Решить, установив python3.6-dev модуль.
Вы должны установить файлы разработки Python в вашей операционной системе, если Python, поставляемый с вашей операционной системой, не поставляется с ними. Многочисленные ответы на этот вопрос показывают множество способов достижения этой цели в разных системах.
Иногда даже после установки python-dev ошибка сохраняется. Проверьте на наличие ошибки, если отсутствует «gcc».
Это означает, что Python.h пути по умолчанию для вашего компилятора не включены. Вы установили его для всей системы или локально? Какая у тебя ОС?
фатальная ошибка: Python.h: нет такого файла или каталога
Я пытаюсь создать общую библиотеку с использованием файла расширения C, но сначала мне нужно сгенерировать выходной файл, используя следующую команду:
После выполнения команды я получаю это сообщение об ошибке:
utilsmodule.c: 1: 20: фатальная ошибка: Python.h: нет такого файла или каталога компиляция завершена.
для gcc. Смотрите принятый ответ для примера: stackoverflow.com/a/21548557/3559967
25 ответов
Похоже, вы неправильно установили заголовочные файлы и статические библиотеки для python dev. Используйте менеджер пакетов, чтобы установить их для всей системы.
Для apt (Ubuntu, Debian. ):
Для yum (CentOS, RHEL. ):
Для dnf (Fedora. ):
Для zypper (openSUSE. ):
Для apk (Alpine. ):
Для apt-cyg (Cygwin. ):
для gcc. Смотрите принятый ответ для примера: stackoverflow.com/a/21548557/3559967
На Ubuntu я работал под управлением Python 3, и мне пришлось установить
Если вы хотите использовать версию Python, которая не связана с python3, установите соответствующий пакет python3.x-dev. Например:
Две вещи, которые вам нужно сделать.
Установите пакет разработки для Python, в случае Debian/Ubuntu/Mint он выполнит команду:
Во-вторых, файлы include не по умолчанию включены в путь include, а также не являются библиотекой Python, связанными с исполняемым файлом по умолчанию. Вам нужно добавить эти флаги (соответственно заменить версию Python):
Другими словами, ваша команда компиляции должна быть:
Если вы используете малину Pi:
в Fedora запустите это для Python 2:
Если вы используете tox для запуска тестов на нескольких версиях Python, вам может потребоваться установить библиотеки разработчиков Python для каждой версии Python, которую вы тестируете на.
Решение для Cygwin
Вы можете быстро установить его, используя 32-битный или 64-битный setup.exe (в зависимости от вашей установки) с сайта Cygwin.com.
Пример (при необходимости измените имя файла setup.exe и основную версию Python):
Вы также можете проверить мой другой ответ, чтобы узнать еще несколько вариантов установки пакетов Cygwin из командной строки.
В AWS API (centOS) его
Для меня это изменилось:
AWS EC2 устанавливает запуск python34:
sudo yum install python34-devel
Убедитесь, что файлы разработчика Python поставляются с вашей ОС.
Вам не следует жестко кодировать библиотеку и включать пути. Вместо этого используйте pkg-config, который выведет правильные параметры для вашей конкретной системы:
Вы можете добавить его в свою линию gcc:
Это не та ситуация, но она также работает для меня, и теперь я могу использовать SWIG с Python3.5:
Я пытался скомпилировать:
С Python 2.7 отлично работает, не с моей версией 3.5:
existe_wrap.c: 147: 21: фатальная ошибка: Python.h: сборка existe el archivo o el Directorio не прекращена.
После запуска в моей установке Ubuntu 16.04:
Теперь я могу без проблем скомпилировать Python3.5:
попробуйте apt файл. Трудно запомнить имя пакета, в котором находится отсутствующий файл. Он является общим и полезным для любых файлов пакетов.
Теперь вы можете сделать экспертную догадку о том, какой из них выбрать.
Я следовал приведенным здесь инструкциям для установки python3.6 на нескольких виртуальных машинах: https://www.digitalocean.com/community/tutorials/how-to-install-python-3-and-set-up-a-local-programming- environment-on-centos-7, а затем смог собрать mod_wsgi и заставить его работать с python3.6 virtualenv
Для товарищей OpenSuse:
Я также столкнулся с этой ошибкой, когда я устанавливал coolprop в Ubuntu.
Для Ubuntu 16.04 с Python 3.6
Если это не помогло, попробуйте установить/обновить gcc lib.
Наконец, работа над исправлением среды разработки для Python3.6 должна быть исправлена с помощью include и libs.
Python.h должен быть включен в ваш путь include для gcc. Какая бы версия python не использовалась, например, если она 3.6, то она должна быть в /usr/include/python3.6m/Python.h обычно.
Иногда даже после установки python-dev ошибка сохраняется. Проверьте на наличие ошибки, если отсутствует «gcc».
Для apt (Ubuntu, Debian. ):
Неустранимая ошибка: Python.h: Нет такого файла или каталога
Я пытаюсь создать общую библиотеку с использованием файла расширения C, но сначала мне нужно сгенерировать выходной файл, используя следующую команду:
После выполнения команды я получаю это сообщение об ошибке:
utilsmodule.c: 1: 20: фатальная ошибка: Python.h: нет такого файла или каталога компиляция завершена.
ОТВЕТЫ
Ответ 1
Ответ 2
Похоже, вы неправильно установили заголовочные файлы и статические библиотеки для python dev. Используйте менеджер пакетов, чтобы установить их для всей системы.
Для apt (Ubuntu, Debian. ):
Для yum (CentOS, RHEL. ):
Для dnf (Fedora. ):
Для zypper (openSUSE. ):
Для apk (Альпийский. ):
Для apt-cyg (Cygwin. ):
Ответ 3
На Ubuntu я работал под управлением Python 3, и мне пришлось установить
Если вы хотите использовать версию Python, которая не связана с python3, установите соответствующий пакет python3.x-dev. Например:
Ответ 4
Две вещи, которые вам нужно сделать.
Установите пакет разработки для Python, в случае Debian/Ubuntu/Mint он выполнит команду:
Во-вторых, файлы include не по умолчанию включены в путь include, а также не являются библиотекой Python, связанными с исполняемым файлом по умолчанию. Вам нужно добавить эти флаги (соответственно заменить версию Python):
Другими словами, ваша команда компиляции должна быть:
Ответ 5
Если вы используете малину Pi:
Ответ 6
в Fedora запустите это для Python 2:
Ответ 7
Если вы используете tox для запуска тестов на нескольких версиях Python, вам может потребоваться установить библиотеки разработчиков Python для каждой версии Python, которую вы тестируете на.
Ответ 8
Решение для Cygwin
Вы можете быстро установить его, используя 32-битный или 64-битный setup.exe (в зависимости от вашей установки) с сайта Cygwin.com.
Пример (при необходимости измените имя файла setup.exe и основную версию Python):
Вы также можете проверить мой другой ответ, чтобы узнать еще несколько вариантов установки пакетов Cygwin из командной строки.
Ответ 9
В AWS API (centOS) его
Ответ 10
Для меня это изменилось:
Ответ 11
Убедитесь, что файлы разработчика Python поставляются с вашей ОС.
Вы не должны жестко кодировать библиотеку и включать пути. Вместо этого используйте pkg-config, который выведет правильные параметры для вашей конкретной системы:
Вы можете добавить его в свою строку gcc:
Ответ 12
AWS EC2 устанавливает запуск python34:
sudo yum install python34-devel
Ответ 13
Ответ 14
Это не та ситуация, но она также работает для меня, и теперь я могу использовать SWIG с Python3.5:
Я пытался скомпилировать:
С Python 2.7 отлично работает, не с моей версией 3.5:
existe_wrap.c: 147: 21: фатальная ошибка: Python.h: сборка existe el archivo o el Directorio не прекращена.
После запуска в моей установке Ubuntu 16.04:
Теперь я могу без проблем скомпилировать Python3.5:
Ответ 15
Ответ 16
Я также столкнулся с этой ошибкой, когда я устанавливал coolprop в Ubuntu.
Для Ubuntu 16.04 с Python 3.6
Если это не помогло, попробуйте установить/обновить gcc lib.
Ответ 17
попробуйте apt файл. Трудно запомнить имя пакета, в котором находится отсутствующий файл. Он является общим и полезным для любых файлов пакетов.
Теперь вы можете сделать экспертную догадку о том, какой из них выбрать.
Ответ 18
Для Python 3.7 и Ubuntu в частности мне понадобилось
sudo apt install libpython3.7-dev
, Я думаю, что в какой-то момент имена были изменены с pythonm.n-dev на это.
Ответ 19
Для товарищей OpenSuse:
Ответ 20
Я следовал приведенным здесь инструкциям для установки python3.6 на нескольких виртуальных машинах: https://www.digitalocean.com/community/tutorials/how-to-install-python-3-and-set-up-a-local-programming- environment-on-centos-7, а затем смог собрать mod_wsgi и заставить его работать с python3.6 virtualenv
Ответ 21
Ответ 22
Наконец, работа над исправлением среды разработки для Python3.6 должна быть исправлена с помощью include и libs.
Python.h должен быть включен в ваш путь include для gcc. Какая бы версия python не использовалась, например, если она 3.6, то она должна быть в /usr/include/python3.6m/Python.h обычно.
Ответ 23
Если вы используете Python 3.6 в Amazon Linux (на основе RHEL, но приведенные здесь ответы RHEL не сработали):
Ответ 24
Ответ 25
Иногда даже после установки python-dev ошибка сохраняется. Проверьте на наличие ошибки, если отсутствует «gcc».
Для apt (Ubuntu, Debian. ):
Для ням (CentOS, RHEL. ):
Для dnf (Fedora. ):
Для zypper (openSUSE. ):
Для apk (Alpine. ):
Ответ 26
Это означает, что Python.h отсутствует в ваших путях по умолчанию для компилятора. Установили ли вы его как в системе, так и локально? Что ваша ОС?
Ответ 27
Вы должны установить файлы разработки Python в вашей операционной системе, если Python, поставляемый с вашей операционной системой, не поставляется с ними. Многочисленные ответы на этот вопрос показывают множество способов достижения этой цели в разных системах.
фатальная ошибка: питон.ч: нет такого файла или каталога
Я пытаюсь создать общую библиотеку с помощью файла расширения C, но сначала я должен сгенерировать выходной файл, используя следующую команду:
после выполнения команды, я получаю это сообщение об ошибке:
utilsmodule.c: 1: 20: фатальная ошибка: Python.ч: нет такого файла или каталога компиляция завершена.
25 ответов
Похоже, вы неправильно установили файлы заголовков и статические библиотеки для python dev. Используйте диспетчер пакетов, чтобы установить их в масштабах всей системы.
на apt (Ubuntu, Debian. ):
на yum (в CentOS, RHEL в. ):
на dnf (Fedora. ):
на zypper (openSUSE. ):
для apk (Альпийский. ):
на apt-cyg (Cygwin. ):
на Ubuntu я запускал Python 3, и мне пришлось установить
Если вы хотите использовать версию Python, которая не связана с python3, установите связанный python3.пакет x-dev. Например:
две вещи, которые вы должны сделать.
установите пакет разработки для Python, в случае Debian / Ubuntu / Mint это делается с помощью команды:
во-вторых, файлы include по умолчанию не включены в путь include, а библиотека Python по умолчанию не связана с исполняемым файлом. Вам нужно добавить эти флаги (соответственно заменить версию Python):
другими словами, ваша команда компиляции должна быть:
Если вы используете Raspberry Pi:
на Fedora запустите это для Python 2:
Если вы используете tox чтобы запустить тесты на нескольких версиях Python, вам может потребоваться установить библиотеки python dev для каждой версии Python, на которой вы тестируете.
Я хотел бы добавить также раствор для Cygwin:
вы можете быстро установить его с помощью 32-бит или 64-бит setup.exe (в зависимости от вашей установки) от Cygwin.com.
пример (изменить setup.exe имя файла и основная версия Python, если вы нужно):
вы также можете проверить мои другого ответа для еще нескольких вариантов установки пакетов Cygwin из командной строки.
в AWS API (centOS) его
для меня, изменение его на это сработало:
убедитесь, что файлы python dev поставляются с вашей ОС.
вы не должны жестко кодировать библиотеку и включать пути. Вместо этого используйте pkg-config, который выведет правильные параметры для вашей конкретной системы:
Вы можете добавить его в свой gcc строку:
AWS EC2 установить под управлением python34:
sudo yum install python34-devel
Это не та же ситуация, но она также работает для меня, и теперь я могу использовать глоток С Питон3.5:
Я пытался скомпилировать:
С Python 2.7 отлично работает, а не с моей версией 3.5:
existe_wrap.c: 147: 21: фатальная ошибка: Python.h: No existe el archivo o el справочник компиляция прекращается.
после запуска в моем Ubuntu 16.04 установка:
теперь я могу компилировать без проблем Python3.5:
в моем случае, что исправлено в Ubuntu, чтобы установить пакеты libpython-all-dev (или libpython3-all-dev Если вы используете Python 3).
мне удалось решить эту проблему и сгенерировать.Итак, файл в одной команде
попробуйте apt-file. Трудно запомнить имя пакета, в котором находится отсутствующий файл. Он является универсальным и полезным для любых файлов пакетов.
теперь вы можете сделать экспертную догадку о том, какой из них выбрать.
для товарищей OpenSuse там:
я следовал инструкциям здесь для установки python3.6 на нескольких ЗИС: https://www.digitalocean.com/community/tutorials/how-to-install-python-3-and-set-up-a-local-programming-environment-on-centos-7 и затем смог построить mod_wsgi и заставить его работать с python3.6 virtualenv
Я также столкнулся с этой ошибкой при установке coolprop в ubuntu.
для ubuntu 16.04 с python 3.6
Если когда-либо это не работает, попробуйте установить/обновить gcc lib.
наконец, что сработало, это исправление среды разработки для Python3.6 необходимо исправить с помощью include и libs.
Python.ч должен быть в вашем пути к ССЗ. Какая бы версия python не использовалась, например, если это 3.6, то она должна быть в /usr/include/python3.6m/Python.h обычно.
решить путем установки python3.6-dev модуль.
Это означает, что Python.h не входит в пути включения по умолчанию вашего компилятора. Вы установили его в масштабах всей системы или локально? Какая ОС?
Если вы используете Python 3.6 на Amazon Linux (на основе RHEL, но ответы RHEL, приведенные здесь, не работали):
иногда даже после установки python-dev ошибка сохраняется, Проверьте наличие ошибки, если отсутствует «gcc».
первая загрузка, как указано в https://stackoverflow.com/a/21530768/8687063, затем установите gcc
для apt (Ubuntu, Debian. ):
для yum (CentOS, RHEL. ):
для dnf (Fedora. ):
для zypper (в openSUSE. ):