Python.h: No existe tal archivo o directorio

Recientemente instalé el desarrollo de KDevelop 4 para C ++ en mi Macbook Pro con Ubuntu 12.04 LTS.

Quiero incrustar la aplicación Python en mi código C ++. Para hacer eso, uno necesita incluir el archivo de encabezado Python.h. Entonces, hice eso.

#include  #include  int main(int argc, char **argv) { Py_Initialize(); return 0; } 

Sin embargo, al ejecutar, recibí la siguiente respuesta del IDE:

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

Sin embargo, encontré el problema lo suficientemente pronto. No había descargado el paquete python-dev. Entonces, hice eso. Corrí otra vez pero el mismo error estaba allí otra vez. Entonces, pensé que debía haber un problema con el archivo de encabezado que no estaba incluido en KDevelop. Por lo tanto, agregué la carpeta correspondiente a la ruta de inclusión y KDevelop reconoció de inmediato al eliminar el subrayado rojo debajo de la segunda statement de inclusión en el código anterior.

Pero aún así, el problema sigue siendo. Me sale el mismo error. Agradecería cualquier ayuda o aportes que ustedes puedan proporcionar 🙂

Muchas gracias.

EDITAR: Algunos detalles que no mencioné anteriormente son que KDevelop está usando cmake para mi proyecto. Supongo que la razón por la que está ocurriendo mi problema es porque cmake no conoce las rutas apropiadas del comstackdor y del enlazador. Agradecería cualquier ayuda para establecer los caminos correctos para cmake.

En su CMakeLists.txt, intente agregar lo siguiente:

 find_package(PythonLibs REQUIRED) include_directories(${PYTHON_INCLUDE_DIRS}) target_link_libraries( ${PYTHON_LIBRARIES}) 

Para detalles de los comandos, ejecute:

 cmake --help-module FindPythonLibs cmake --help-command find_package cmake --help-command include_directories cmake --help-command target_link_libraries 
 sudo apt-get install python2.7-dev 

trabajó para mí en un problema de “Python.h: no existe tal archivo o directorio”

Desea incluir lo siguiente en la línea de comstackción:

 `python-config --cflags` 

Y esto en la linea de enlace:

 `python-config --ldflags` 

Lo más probable es que Python.h no esté en la ruta de inclusión de sus sistemas de comstackción. Puedes averiguar dónde está tu Python.h ejecutando

 dpkg -L python-dev | grep Python.h 

Esto también verificará que el paquete python-dev realmente instaló un Python.h.

No tengo un kdevelop aquí, pero la mayoría de los IDE tienen una configuración en la que puedes especificar la ruta de inclusión utilizada por el sistema de comstackción, y deberías poder agregar la ruta donde está Python.h.

EDITAR:

Como Nikolai lo indicó, también deberá agregar la ruta correcta de la biblioteca para la etapa de enlace. (Salida de python-config –ldflags).

Supongo que ya está instalado. Encuentra el camino con:

 find / -iname python.h 

y cuando lo haya hecho, al comstackr agregue.

 -I python_h_path 

Para usuarios de Linux Ubuntu Putty intente esto:

 sudo apt-get update sudo apt-get install python-dev 

luego comstackrlo

 gcc -o check xyz.c -I/usr/include/python2.7/ -lpython2.7 

entonces ejecútalo

 ./check