3
respostas

Anaconda + Python 3.6 + Apache + Ubuntu Server 16.04 + Redis/RQ Worker

Olás! Já tenho um código meu pronto que necessita do Anaconda para rodar (por causa de um dos módulos meus chamado RDKit). Tenho um servidor bastante potente rodando Ubuntu Server 16.04, com meus códigos no Python 3.6.5 na versão do Anaconda. Queria saber se tem como eu desvincular a versão do Python que o Ubuntu utiliza em seus demais programas (ele tem instalado umas 4 ou 5 versões do Python) de forma que o Apache rode na minha versão do Anaconda (uso o Flask como parte web da minha aplicação). Aproveitando, antes de migrar o meu código para a versão 3 e remover as demais versões do Python do Ubuntu (o que não vi que foi uma boa ideia), eu conseguia utilizar o Redis Server para executar tarefas assíncronas, porém, agora não funciona mais... Alguma sugestão de como voltar a funcionar sem ter que reinstalar o Ubuntu?

3 respostas

Olá Wandré, tudo bem?

O que você pode fazer é criar ambientes virtuais que são totalmente desvinculados dos pacotes Python que seu sistema operacional usa.

Nesses ambientes virtuais, você pode instalar pacotes em diferentes versões sem afetar outro ambiente, ou o sistema operacional.

Olá Yuri, tudo bem? Agora, como fazer para que o Apache ou o wsgi identifique qual versão do python eu quero que ele rode?

Quando a gente cria um ambiente virtual, o Anaconda cria um diretório com os binários desse ambiente, por exemplo:

anaconda3/envs/<nome-do-seu-ambiente>/bin/python

Aí você pode falar para esses programas qual a python-home que eles devem usar.