(X-Post) Tentei alternar entre as versões python no Linux. Acabou estragando tudo. Como corrigi-lo?

0

Na verdade, tenho três perguntas:

  1. Então, eu estava tentando alternar entre python2.7 e python3.4 . Eu adicionou ambas as alternativas usando update-alternatives , dando prioridades 1 e 2, respectivamente. Foi definido para o modo manual, então eu configurou e tentou executar python . Não sei o que aconteceu aqui, mas não funcionou. Ele estava funcionando bem antes de definir o alternativas. Mas , quando inseri python2 funcionou muito bem e lançou python2.7 . Da mesma forma, inserindo python3 lançou python3.4 . E isso me deixou um pouco confuso.

    Não é% su_de python um comando genérico para executar a v2.7 ou v.3.4 com base na configuração?

  2. Agora, muito galantemente , eu tentei corrigir isso sozinho, sem sentindo a necessidade de procurar saber qual era o problema (ingênuo, eu sei). Eu brincou com isso um pouco. Removidas as alternativas uma a uma usando remove (deveria ter usado remove-all suspiros ) mas, desconfiado o suficiente, quando eu corri update-alternatives --list python , ainda mostrava as alternativas. Confusão ++ .

    Qual é a razão por trás disso? Por que aqueles ainda estavam sendo exibidos?

  3. De qualquer forma, assumindo que eles foram removidos, adicionei as alternativas novamente e, na esperança de ter resolvido o problema, tentei rodar %código%. Infelizmente, não funcionou ... exibindo a seguinte linha:

    python

    Em seguida, tente executar bash: /usr/lib/command-not-found: /usr/bin/python3: bad interpreter: No such file or directory . Bam! Desta vez, este não funcionou ou! Produzindo uma saída semelhante:

    python2

    O mesmo que para bash: /usr/lib/command-not-found: /usr/bin/python3: bad interpreter: No such file or directory . Saída:

    python3

    Então, o que estou perdendo aqui e onde está o problema? Por favor elaborar.

PS: Perdoe minha ignorância. As perguntas podem ser bobas, mas é só recentemente que comecei a aprender tudo isso. Eu sou praticamente um noob.

PPS: Estou executando o Xubuntu 15.04.

TIA.

    
por Genghis Khan 18.10.2015 / 01:17

1 resposta

0

Isn't python supposed to be a generic command to run either v2.7 or v.3.4 based on the configuration?

Aquiestábasicamenteocaso.OPython2e3sãodiferentesetemposdeexecuçãoeidiomasmuitodistintos,eosistemasempreassumiráquepythonépython2epython3épython3.Issoocorreporquemuitosaplicativoscríticosdosistemadependemdopythonetêmidadesuficienteparachamar"python" em "python3".

Ao escrever seus próprios aplicativos, chame o intérprete apropriado, em vez de assumir.

Não sei o que você quebrou, mas parece que o python 2/3 está armazenado em outro lugar, e suas ações quebraram o symlink (que é o que as alternativas fazem).

Nós não sabemos o que mais está quebrado, então pode ser uma excelente idéia apoiar tudo o que você ama, reconstruir o sistema e não insultar a serpente até que você tenha uma idéia melhor do que você está fazendo. Um desenvolvedor, ou mesmo um administrador de sistema, normalmente não precisaria fazer o que você tentou.

Se você precisar usar versões outras do python, considere virtualenv

    
por 18.10.2015 / 01:37