Como construir o PyQt for Deadsnakes Python 2.7 no Ubuntu 10.04?

3

Estou tentando configurar o Python2.7 no Ubuntu 10.04 como um pacote alternativo.

Eu tenho o PPA Deadsnakes

Eu configurei pip e virtualenv

Agora, estou tentando construir o PyQt (o PySide parece ter problemas semelhantes em que o pip não é suportado)

Eu ativei o virtualenv e fiz o download do SIP.

(qtenv)~/sip-4.13.3$ python2.7 configure.py

(qtenv)~/sip-4.13.3$ make

gcc -c -pipe -fPIC -O2 -w -DNDEBUG -I. -I/usr/include/python2.7 -o siplib.o siplib.c
siplib.c:20:20: error: Python.h: No such file or directory

e, claro, agora há uma cornucópia de erros depois disso

Supostamente, eu precisaria de python-dev para os cabeçalhos do Python, mas eu já o tenho instalado no ambiente regular (python 2.6 no Ubuntu 10.04).

Então, como faço para obter o arquivo de cabeçalhos para o python2.7?

Parece que estou a poucos passos de raspar o iaque ...

Para outros leitores, uma sinopse ...

O OP está executando o Ubuntu 10.4 (que, por padrão, usa uma versão mais antiga do Python2.6), mas quer o Python2.7 e o pacote PyQt, que depende do pacote SIP (dos autores do PyQt.)

O OP foi instalado e está usando o virtualenv, que permite que você tenha várias versões do Python instaladas.

O PyQt é uma ligação do Python para a biblioteca do Qt C. Sua instalação requer compilação contra os arquivos de cabeçalho Python (por exemplo, Python.h que é encontrado, por exemplo, em /usr/local/include/python2.6 ou ... 2.7)

Uma instalação padrão do Ubuntu não possui esses arquivos de cabeçalho Python. Eles podem ser instalados como pacote python-dev, mas eles corresponderão à versão instalada do Python, por exemplo. 2.6.

Evidentemente, o OP instalou o python-dev para o Python2.6 (e o virtualenv pode vê-lo). O OP mudou o diretório para o diretório SIP e executou o script configure, mas desde que foi executado pelo Python2.7, ele configurou os scripts make para o SIP para procurar pelos arquivos de cabeçalho do Python2.7. O OP precisa instalar o pacote python-dev para Python2.7 em seu segundo ambiente virtual Python que está executando o Python2.7.

(Eu também estou tentando construir SIP e PyQt no Ubuntu 12.04 e também está falhando em encontrar o /usr/local/include/Python.h. Eu instalei o python-dev que foi instalado em /usr/include/python2.7 Talvez o script de configuração para o PyQt seja falho.Este é um problema comum no Linux, que não há nenhum lugar absolutamente padrão para instalar coisas, especialmente quando várias versões de uma coisa podem ser instaladas.)

    
por Sint 25.06.2012 / 17:29

1 resposta

1

Você precisa do pacote python2.7-dev do mesmo PPA. Arquivos de cabeçalho para um pacote foo geralmente estão em foo-dev .

    
por Thomas K 26.06.2012 / 14:39