Fedora 25 Mudar do Python 2.7.13 para o Python3 (quebrado por 'alternatives')

1

Estou começando com python. Estou trabalhando em um laptop com uma nova instalação do fedora25.

Eu tenho tudo funcionando no eclipse com o pydev, mas por instruções do instrutor eu preciso usar o python 3.4 ou mais recente.

Então eu verifico qual versão estou usando. Aparentemente é o python 2.7.13 Eu pensei que o fedora post 23 usasse python3 por padrão, mas tal é a vida. Então eu verifico aqui e askfedora e outras fontes de como alterar a versão padrão quando você tem mais de um instalado. E dois deles sugerem Como alternar entre as versões do Python no Fedora Linux . Antes de atirar cegamente a sugestão de alguém em um shell eu dou uma olhada e parece um ótimo site.

Então, eu segui o tutorial e agora NADA de trabalhos relacionados ao python.

$ alternatives --list | grep -i python
((no output))
$ sudo alternatives --install /usr/bin/python python /usr/bin/python3.4 2
$ sudo alternatives --install /usr/bin/python python /usr/bin/python2.7 1
$ alternatives --list | grep -i python
python auto /usr/bin/python3.4
$ python -v
bash: /usr/bin/python: No such file or directory
$ python -V
bash: /usr/bin/python: No such file or directory
$ python --vesion
bash: /usr/bin/python: No such file or directory

Parece que criar os links simbólicos conforme direcionado quebrou a conexão entre a origem de python esperada /usr/bin/python e tudo o que tenta acessá-la. Tenho certeza de que há uma solução "fácil", mas não tenho ideia do que poderia ser. Ajuda, por favor e obrigado.

Eu pensei que usar alternatvies mudou o python para um conjunto de links simbólicos e você tinha que definir um (veja o bloco de código abaixo).

$ alternatives --config python

There are 2 programs which provide 'python'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/bin/python3.4
   2           /usr/bin/python2.7

Enter to keep the current selection[+], or type selection number: 
$

Então, por que nenhum deles está configurado para "responder" quando algo tenta seguir python ?

Então saí do shell e usei gui Files em Activities . Fui para /usr/bin . Encontrado python . Tentei clicar nele; Eu recebo esta mensagem de erro:     O link "python" está quebrado. Este link não pode ser usado porque seu alvo "/ etc / alternatives / python" não existe.

Eu não quero definir o link para apontar para um ou outro python, certo? Esse é o ponto de alternatives , não é?

    
por TK421 09.02.2017 / 01:15

1 resposta

5

Não faça isso. Como o Python 2 e o Python 3 não são compatíveis, eles não são bons candidatos para o mecanismo de "alternativas". Muitos pacotes assumem que /usr/bin/python é o Python 2, e muita coisa será quebrada.

Como muitos softwares não estão prontos para migrar para o Python 3, o Fedora não pode simplesmente mudar tudo. Em vez disso, decidimos deixar /usr/bin/python como Python 2. O Python 3 pode ser instalado em paralelo e é encontrado em /usr/bin/python3 . O Fedora 25 inclui o Python 3.5, então isso deve ser suficiente para sua classe.

Apenas certifique-se de usar #!/usr/bin/python3 no topo de seus arquivos e use python3 na linha de comando.

    
por 09.02.2017 / 18:36