2013-07-17 9 views
7

Sto cercando di installare PyQt5 sulla mia casella Ubuntu 12.04. Quindi, dopo averlo scaricato da here l'ho rimosso, eseguito python configure.py e make. Fare tuttavia, i risultati nei seguenti: nessunoErrore irreversibile durante la compilazione di PyQt5: Python.h non esiste

cd qpy/ && (test -f Makefile || /opt/qt5/bin/qmake /home/kram/Downloads/PyQt-gpl-5.0/qpy/qpy.pro -o Makefile) && make -f Makefile 
make[1]: Map '/home/kram/Downloads/PyQt-gpl-5.0/qpy' is entered 
cd QtCore/ && (test -f Makefile || /opt/qt5/bin/qmake /home/kram/Downloads/PyQt-gpl-5.0/qpy/QtCore/QtCore.pro -o Makefile) && make -f Makefile 
make[2]: Map '/home/kram/Downloads/PyQt-gpl-5.0/qpy/QtCore' is entered 
g++ -c -pipe -fno-strict-aliasing -O2 -Wall -W -fPIC -D_REENTRANT -DQT_NO_DEBUG -DQT_CORE_LIB -I/opt/qt5/mkspecs/linux-g++ -I. -I. -I../../QtCore -I/usr/local/include/python2.7 -I/opt/qt5/include -I/opt/qt5/include/QtCore -I. -o qpycore_chimera.o qpycore_chimera.cpp 
qpycore_chimera.cpp:21:20: fatal error: Python.h: File or folder does not exist 
compilation terminated. 
make[2]: *** [qpycore_chimera.o] Error 1 
make[2]: Map '/home/kram/Downloads/PyQt-gpl-5.0/qpy/QtCore' is left 
make[1]: *** [sub-QtCore-make_first] Error 2 
make[1]: Map '/home/kram/Downloads/PyQt-gpl-5.0/qpy' is left 
make: *** [sub-qpy-make_first-ordered] Error 2 

(ho tradotto alcune parti del messaggio di errore da Olandese a Inglese, per cui alcune parole possono essere un po 'fuori dal tenore normale ..)

Does qual è il problema qui? Dove potrebbe essere il file Python.h pertinente?

risposta

29

Il problema è che il percorso di inclusione per tutte le intestazioni di pitone in ogni Makefile saranno rivolte a /usr/local/include/python2.7, che avrebbe dovuto essere /usr/include/python2.7

Ci sono 2 soluzioni possibili per questo. O si può cambiare tutto il verificarsi di questo in ogni Makefile oppure è possibile creare un link simbolico a quella posizione

sudo ln -s /usr/include/python2.7 /usr/local/include/python2.7 

Ora è possibile eseguire make

6
sudo apt-get install python-dev 

Mancano i file di intestazione Python.

+0

Ho pensato anche a questo, ma li ho già installati. Dopo aver eseguito il comando, dice che python-dev è già la versione più recente. – kramer65

+0

Per quale versione stai installando e quale versione di python-dev hai? –

+0

Non so esattamente come controllare la versione di python-dev, ma ho eseguito 'sudo apt-get install python2.7-dev', che mi ha anche detto che ho l'ultima versione. – kramer65

1

Il problema si sta avendo è che PyQt si assume' non usare il python gestito dalla tua distro, e al posto di default cerca sorso in /usr/local/include/python2.7.

Fortunatamente, configure.py fornisce opzioni per ignorare il pitone e SIP includono posizioni:

python configure.py --sip-incdir /usr/include/python2.7 py_inc_dir=/usr/include/python2.7 

Questa soluzione dovrebbe preferito un collegamento simbolico /usr/include/python2.7 in /usr/local/include/python2.7 come che permetterà il software installato manualmente inquinare (o pacchetti corrotti installata) percorsi distro-gestiti.

0

È preferibile aggiungere i file di intestazione esistenti alla directory del progetto sia in QTCreator che in Anjuta IDE.