Tenho vários python no meu computador? e como desinstalar um deles?

6

Encontrei o problema de que pip install - U numpy não atualizou a versão numpy em python, que é semelhante a link

Portanto, duvido que tenha vários pythons no meu computador.

Quando corri which -a python , ele retorna o seguinte:

/usr/bin/python
/bin/python

Isso significa que eu tenho dois python no meu computador? Se isso for verdade, eu quero desinstalar um deles. Eu tentei yum remove python . Mas eu ainda podia ver essas duas pythons quando corri which -a python .

    
por bright 02.03.2015 / 15:16

3 respostas

4

which python apenas informa o executável que seria executado com o comando python , ou seja, ele normalmente retorna exatamente um resultado por argumento, a menos que você especifique -a , caso em que procura todos os diretórios na variável de ambiente $PATH . Mas em todos os casos, é o mesmo comando python .

Se você quiser saber quantas versões do python estão instaladas em seu sistema, é melhor usar locate /python | grep /bin ou ls -l /usr/bin/python* ou yum --showduplicates list python .

Quanto às suas duas python instâncias, as chances são de que uma delas é um link [simbólico] : verifique com which -a python | xargs ls -li . Se você quiser remover uma versão específica do python, será necessário especificar esse número de versão na linha de comando yum , por exemplo, : yum remove python-2.7.2.el5s2 .

EDITAR : como os relatórios mattdm , /bin é um link simbólico para /usr/bin no Fedora. Conseqüentemente, você não pode excluir o python de nenhum desses locais com rm , caso contrário, você acabaria excluindo o python. O argumento -i para ls in which -a python | xargs ls -li neste caso mostrará que ambas as instâncias de python têm o mesmo inode.

Note que você não é necessário para remover manualmente os pacotes específicos da versão, já que o objetivo do gerenciador de pacotes é precisamente puxar as versões adequadamente, conforme os requisitos de dependência. Se uma versão específica estiver instalada, ela estará lá por um bom motivo. É provável que a remoção de um remova outros pacotes.

Finalmente, use o gerenciador de pacotes de sua distribuição por todos os meios para instalar pacotes e suas dependências, especialmente aqueles que pertencem ao repositório da distribuição ... a menos que seja impossível de outra forma. Eu posso estar errado, mas se você contar com pip para atualizar alguns dos pacotes principais, então o gerenciador de pacotes ficará confuso e provavelmente se atrapalhará com as dependências que você satisfez manualmente. (Na verdade, é o contrário: deixar pip gerenciar dependências vai atrapalhar com yum .)

    
por 02.03.2015 / 16:31
3

Em todos os lançamentos recentes do Fedora, /bin é um link simbólico para /usr/bin - o que significa que, se você olhar em / bin, você será redirecionado para o / usr / bin. No entanto, ambos aparecem em $PATH (hmmm; isso provavelmente deve ser limpo), e é isso que você está vendo com which -a python - duas maneiras de obter um binário realmente idêntico. / p>

Então, não há problema aqui.

(Note, entretanto, que a instalação de pip e rpm (yum) de mistura pode dar resultados confusos e possivelmente instalar versões duplicadas das coisas.)

    
por 02.03.2015 / 16:49
0

Obrigado a todos. O problema foi resolvido. Eu tenho python3.3 e python2.7 no meu computador. Eu removi python3.3 por yum remover python3.

O problema numpy é resolvido adicionando

export PYTHONPATH=$PYTHONPATH:/usr/lib64/python2.7/site-packages/

para o ./bashrc .

    
por 05.03.2015 / 01:42

Tags