Como obtenho o Apache para executar o Python 2.7 em vez de 2.5?

2

Como obtenho o Apache para executar 2.7 em vez de 2.5?

Estou configurando o Apache para usar o mod_wsgi com o Django e o Python 2.7, mas os logs de erro mostram que o Apache está usando o Python 2.5.2 e não consegue encontrar o django.core.handlers.wsgi.

O módulo está disponível para os shells python e django, cada um rodando 2.7, então eu acho que o problema é a versão python do Apache.

Eu instalei o Python 2.7.1 a partir do código-fonte (em um sistema Debian), e mudei o link simbólico / usr / bin / python para apontar para /usr/local/bin/python2.7, onde 'make install' coloca o binário . Ambos os shells python e django trazem o 2.7.1 (estes podem importar o módulo wsgi).

Possivelmente relacionado - quando eu mudo o symlink de volta para a versão anterior (requerida pelo apt-get para algumas instalações), o shell do python ainda aparece como 2.7.1. O Django não. Senti falta de algo no meu processo de instalação?

ATUALIZAÇÃO: Este - link - sugere que o problema pode ser que mod_wsgi, ou mod_python, sejam construídos para o Python 2.5.

Eu tentei construir o mod_wsgi a partir do código-fonte, mas esse processo não estava encontrando apxs, e os esforços para instalar o libapache2-dev (como sugerido pelo site mod_wsgi) estavam bombardeando dependências desinstaláveis. E eu não consigo instalar mod_wsgi ou mod_python via apt-get sem apontar Python ao padrão debian de 2.5. Não sei como se livrar aqui.

ATUALIZAÇÃO 2: Escolheu a reversão do Python para 2.5.

Eu especulo que o Apache estava indo para o Python 2.5 b / c e estava encontrando mod_wsgi.so-2.5, correspondente ao Python 2.5, em mods-enabled. A compilação de mod_wsgi pode ter colocado um módulo .so-2.7, mas isso requeria o apache2-dev, e o pacote Debian estava quebrando algum problema de dependência, e o rollback julgou a melhor parte do valor, e nenhum jamais se importará com isso. que ou esta recapitulação mas se , gentil leitor, algum hairball python2.7 + apache traz você aqui e a anotação dessas cicatrizes de tempo te poupa um momento, levante um copo para mim. excelsior! boa noite.

ATUALIZAR DURANTE: O problema do apache2-dev foi resolvido pela instalação via aptitude, em vez do apt-get.

    
por chernevik 22.02.2011 / 17:49

2 respostas

1

Existe algum motivo real para você precisar do Python 2.7? O Django pode ser instalado para o 2.5, e os pacotes do Debian manterão os patches relacionados à segurança aplicados ao python 2.5. Por que não manter apenas o estoque dos repositórios do Debian e instalar o Django for 2.5? Isso vai poupar bastante a compilação das fontes, tornando a instalação mais fácil. Também manterá as atualizações e a manutenção muito mais simples e menos provável de quebrar no futuro.


- Christopher Karel

    
por 22.02.2011 / 18:14
0

O / usr / bin / python é o único "executável"?

O que faz

ls -l /usr/bin/python* 

show? E

ls -l /usr/bin/X11/python* 

e

type -a python

?

    
por 22.02.2011 / 17:59