O comando python inicia a versão errada do interpretador python

1

Estou usando o Mac OS X versão 10.13.1 e acabei de instalar o anaconda. Eu criei um ambiente virtual usando o comando

conda create -n py3 python=3

Depois, iniciei o interpretador python usando o comando

python

Para minha surpresa, o python 2.7 pré-instalado do / usr / bin apareceu em vez do python 3.6. A fim de verificar o que está errado eu emiti o comando

which python

O resultado foi ainda mais surpreendente, eu consegui o seguinte:

/Users/karlstroetmann/anaconda2/envs/py3/bin/python

Quando eu invoco o comando

/Users/karldrstroetmann/anaconda2/envs/py3/bin/python

Eu obtive o python 3.6.3. Mas eu não entendo porque não posso invocar esta versão apenas digitando python . O que estou perdendo aqui? Qualquer sugestão seria muito apreciada.

    
por Carlos Ben Yussuf 12.11.2017 / 02:11

2 respostas

0

É muito provável que o comando python tenha sido hashed e que você precise limpar o cache . Para ver qual executável está sendo executado, use o comando type , por exemplo:

type -a python

Diferentemente do comando which , o comando type está ciente dos programas com hash, além de aliases e funções do shell.

Para uma discussão mais detalhada sobre quais comandos (sem trocadilhos) usar para determinar quais programas são executados pelo shell, veja o seguinte post:

Como alternativa, você também pode usar o comando hash para determinar se um dado comando foi modificado, por exemplo:

hash -t python

Você também pode listar todos os comandos hashed executando hash sem nenhum argumento, por exemplo:

hash

Da mesma forma, você pode usar o comando alias para verificar se um determinado comando é um alias, por exemplo:

alias python

E você também pode listar todos os aliases ativos:

alias

Para limpar o programa em cache do Python, você pode usar o seguinte comando:

hash -d python

Como alternativa, você pode limpar tudo de uma vez:

hash -r

Para limpar um único alias, você pode usar o comando unalias , por exemplo:

unalias python

Ou você pode limpar todos os aliases de uma só vez:

unalias -a
    
por 12.11.2017 / 02:14
0

Eu resolvi meu problema, foi um erro estúpido: eu tinha um alias para python no meu .bashrc. Eu tinha me esquecido desse pseudônimo e daí o problema resultou.

    
por 12.11.2017 / 14:48