Como mudar minha versão do Python no CentOS para scripts executados via apache?

1

Eu tenho um site que diz site.com/weather/a1.py

Quando eu tento executar este arquivo, isso mostra a versão do Python como 2.6, ao passo que se eu executá-lo fazendo o login no terminal via Putty, ele me mostra a versão do Python como 3.6

Alguém pode me ensinar como usar o Python3.6 para arquivos executados via cgi-bin também?

Nota: recentemente mudei minha versão do Python usando aqui

    
por Shan 09.11.2017 / 05:49

2 respostas

1

Você deve ter o módulo apache mod_wsgi para o 2.6 no apache, e é por isso que o apache se refere à versão mais antiga do python. Você pode instalar uma versão mais nova do mod_wsgi usando os comandos abaixo.

Redhat / Centos

Relacione as versões mod_wsgi disponíveis

yum  list *mod_wsgi*

Selecione a versão correta e instale com o yum.

yum install python36u-mod_wsgi

Ubuntu

sudo apt-get -y install libapache2-mod-wsgi-py3

Reatsrt apache após a instalação bem-sucedida, ele carregará a versão 3.x do python na configuração do apache.

Especificamente para o CentOS

Depois de fazer acima, você precisa fazer isso também

1.Remove mod_python.so from apache httpd.conf 
2.python.conf might be available either in /etc/httpd/conf or /etc/http/conf.d
3.Comment out all the lines in it
4.Add WSGI alias as mentioned over [here][1]
5.Then restart apache
    
por 09.11.2017 / 10:52
1

Primeiro, descubra de onde vem a versão 3.6 do python:

which python

também, verifique onde o seu python3 está instalado.

which python3

Verifique usando ls -l para ver se um dos caminhos é um link flexível. Adicione / altere a primeira linha em a1.py para usar a linha shabang apropriada. Por exemplo,

#!/usr/local/bin/python3

Lembre-se de que o PATH do servidor apache provavelmente não é o mesmo que você usa.

    
por 09.11.2017 / 06:14

Tags