Duas versões do python 2.x instaladas no mesmo sistema

0

Estou trabalhando no Fedora 21 e, não me pergunte por quê, mas tenho duas versões do Python 2.x instaladas nele. Eu posso dizer que eu tenho duas versões diferentes, porque quando eu chamo do terminal com "python", eu recebo:

Python 2.7.9 (default, Feb 18 2017, 17:18:34)

[GCC 4.9.2 20150212 (Red Hat 4.9.2-6)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

Eu gostaria de acrescentar que a versão que eu chamo com "python" é "/ usr / local / bin / python". Por outro lado, quando eu chamo de "/ usr / bin / python", eu recebo:

Python 2.7.8 (default, Sep 24 2015, 18:25:44)

[GCC 4.9.2 20150212 (Red Hat 4.9.2-6)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

Além disso, eles não parecem ter acesso às mesmas bibliotecas / módulos. Por exemplo, se eu executar um script usando SciPy com "python", isso gerará um erro, embora não seja o caso se eu o executar com "/ usr / bin / python".

Então, como me livrar da versão em execução quando eu chamo de "python" e manter o que eu chamo com "/ usr / bin / python"? Além disso, gostaria de chamar o que estou chamando com "/ usr / bin / python" com um simples "python".

    
por Pipicito 09.06.2017 / 15:29

2 respostas

2

Você poderia tentar remover aquele em / usr / local / bin / python descobrindo o que o RPM o instalou:

rpm -f /usr/local/bin/python

Uma vez que você tenha apenas uma versão, essa será a chamada.

Duas outras opções são:
a) Modifique sua variável PATH para que / usr / bin seja anterior a / usr / local / bin
b) Alias 'python' para '/ usr / bin / python'

    
por 09.06.2017 / 15:34
2

Não há nenhum motivo real para excluir um dos Pythons (outros aplicativos podem depender dele).

Para usar /usr/bin/python por padrão, verifique se /usr/bin vem antes de /usr/local/bin em seu $PATH .

Você pode investigar isso com echo $PATH e é possível simplesmente adicionar /usr/bin à frente desse valor com

PATH="/usr/bin:$PATH"

nos seus arquivos de inicialização do shell. Ter /usr/bin listado várias vezes em $PATH não é um problema.

Se você escrever scripts em Python, apenas certifique-se de que a linha shebang seja

#!/usr/bin/python

e que o script é executável. Isso fará com que ele escolha o interpretador Python que você deseja.

    
por 09.06.2017 / 15:35

Tags