
Estou executando uma nova instalação do OpenSUSE 13.2 tumbleweed que vem com python2.7 e python3.4. Estou continuamente tendo problemas ao executar qualquer biblioteca baseada em python para obter o seguinte erro ImportError: No module named site
. Todas as respostas para esse problema tratam da configuração dos env vars PYTHONPATH e/ou PYTHONHOME para algum caminho, mas tentei todas as combinações de caminhos que consigo imaginar e nada funciona. Uma ideia?
As bibliotecas com as quais estou tendo problemas são youtube-dl e flexget.
Responder1
Este é o trabalho da sua distribuição, acertar o gerenciamento da biblioteca - mesmo para coisas como python, que parecem se esforçar para dificultar.
Execute programas python 2 com
#!/usr/bin/python2
e programas python 3 com#!/usr/bin/python3
. Ou chamando-os depython2 script
oupython3 script
. Não use#!/usr/bin/env python
, esse era um conselho idiota e ruim, mesmo antes de existirem duas pítons.Use as versões empacotadas das bibliotecas python da distribuição sempre que possível. Mesmo que você tenha que esperar uma semana inteira para que a versão 1.2.0.0.0.0.3 seja empacotada enquanto você está preso no antigo 1.2.0.0.0.0.2. Ou meses. É extremamente raro que uma biblioteca atualizada valha a pena correr o risco de bagunçar seu sistema. Ficar sem ou "usar outra biblioteca" é quase sempre uma resposta melhor do que "bagunçar meu sistema instalando manualmente esta biblioteca"
Se você precisar instalar manualmente uma biblioteca,adapte as instruções para se adequar ao seu sistema. As instruções podem (principalmente) funcionar no próprio sistema do desenvolvedor, mas farão um enorme número de suposições sobre como as coisas são configuradas - e a maioria delas provavelmente estará errada para o seu sistema. Isso significa ler atentamente a documentação e notas relevantes da distribuição e compreender o ambiente python do seu sistema e como ele funciona.
Não adaptar as instruções para se adequar ao seu sistema pode atrapalhar seu ambiente python, mesmo que sua distribuição tenha feito tudo certo no que diz respeito ao gerenciamento de lib python. Este é um resultado infelizmente comum para python (e ruby) de maneiras que não são comuns para qualquer outra linguagem de programação ou script. Há MUITOS conselhos ruins que essencialmente dizem para você ignorar a distribuição ou sistema operacional e tratá-lo como um obstáculo a ser contornado (em vez de uma ferramenta a ser usada e trabalhada) no mundo python.