Apache usando a versão errada do Python, o script 2.4 funcionando, o script 2.5 falhando

2

Usando o CentOS5, eu tenho o Apache configurado com as seguintes diretivas.

Alias /pscript/ /var/www/pscript/
<Directory "/var/www/pscript/">
    Options +ExecCGI
    DirectoryIndex thetest.py
    AddHandler cgi-script .py
</Directory>

Quando eu chamo www.domain.com/pscript/, meu script python é executado e imprime meu sys.path , que está exibindo python2.4 .

Quando eu chamo um script diferente que requer o Python 2.5, recebo um 500 Internal Server Error.

Olhando para o meu error_log do Apache, vejo a seguinte linha:

[Wed Mar 03 16:58:44 2010] [error] [client 000.000.000.000] Please use Python 2.5 or greater

Na linha de comando, executando python -V retorna Python 2.5.5 . Eu tenho tanto o 2.4 como o 2.5.5 instalados, mas apenas 2.5.5 devem estar em uso.

Na tentativa de remediar o problema do Apache, eu recompilei o Python 2.5.5 para ser seguro, e certifique-se de ativar a biblioteca compartilhada. Então eu recompilei o mod_python caso estivesse afetando algo, mas meu sys.path ainda é python2.4 .

Eu gostaria de recompilar o próprio Apache 2.2.3? Eu simplesmente preciso que o Apache utilize o Python 2.5.5.

Edit: Parece que ambas as minhas instalações em python possuem bibliotecas compartilhadas. Obviamente, a versão 2.4 é anterior a 2.5. Isso seria uma causa possível?

Obrigado antecipadamente.

    
por Structure 03.03.2010 / 09:11

2 respostas

0

Dentro do meu script python / usr / bin / env estava sendo usado para chamar Python. Isso estava chamando a versão errada. Não sei como fazer com que ele chame uma versão diferente, mas alterar meus scripts para / usr / bin / local / python (instalação do Python 2.5.5) corrigiu o problema.

    
por 04.03.2010 / 09:47
0

O processo do apache provavelmente está sendo executado como um usuário diferente e pode estar escolhendo um caminho de sistema diferente para seu próprio usuário.

Talvez, supondo que seu usuário do apache seja www-data, a execução do seguinte comando irá confirmá-lo:

sudo su www-data python -V
    
por 03.03.2010 / 10:07