erro fatal: “python.h” sem arquivo ou diretório?

5

enquanto procurava a solução de hungarian problem , encontrei este link do github

Eu passei pelo arquivo readme.md e executei tudo descrito lá,  Depois de copiar hungarian.so em meu diretório no qual estou trabalhando quando tentei compilar hungarian.cpp por make hangarian , obtive

anupam@JAZZ:~/Python/hungarian-master$ make hungarian
g++     hungarian.cpp   -o hungarian
hungarian.cpp:7:20: fatal error: Python.h: No such file or directory
 #include "Python.h"
                    ^
compilation terminated.
make: *** [hungarian] Error 1

então eu procurei por isso em stackoverlow , mas não funcionou para mim Eu sou muito novo em github e como adicionar módulos em g++ , alguém pode me ajudar com isso? e o que fazer depois disso?

    
por jazzz 21.09.2014 / 16:17

3 respostas

7

Depois de analisar o link , parece que você precisa de ambos:

#include "Python.h"
#include "numpy/arrayobject.h"

Portanto, instale os seguintes pacotes:

sudo apt-get install libpython2.7-dev python-numpy

Para identificar os pacotes ausentes (aqueles que fornecem os cabeçalhos), consulte packages.ubuntu.com .

    
por Sylvain Pineau 21.09.2014 / 16:40
6

Para o Ubuntu 15.10 e o Python 3:

sudo apt-get install python-dev
sudo apt-get install python3-dev
sudo apt-get install libpython3-dev
sudo apt-get install libpython3.4-dev
sudo apt-get install libpython3.5-dev
    
por Martin Thoma 15.11.2015 / 00:15
1

Este é o código python que se estende com C . Não há necessidade de usar make . O próprio Python cuidará da compilação do código cpp com sinalizadores adequados.

Primeiro, você precisa ter arquivos de cabeçalho e uma biblioteca estática. Instale-os como,

sudo apt-get install python-dev

Agora siga estes comandos para executar example.py em seu código.

python setup.py build
cp  build/lib.linux-i686-2.7/hungarian.so .
python example.py
  

Nota: estou usando python2.7 , você deve cuidar da sua versão do python quando executar os comandos acima. Vale a pena mencionar que você precisa instalar o python-numpy se você não tiver o script Pyhton necessário.

    
por souravc 21.09.2014 / 16:47