Alterar a versão padrão do Python3 no Ubuntu

10

Estou usando o Ubuntu 16.04 LTS. Eu tenho python3 instalado. Existem duas versões instaladas, python 3.4.3 e python 3.6 . Sempre que eu uso o comando python3 , é preciso usar python 3.4.3 por padrão. Eu quero usar python 3.6 com python3 .

python3 --version mostra version 3.4.3

Estou instalando ansible , que suporta version > 3.5 . Então, sempre que digito ansible no terminal, ele gera erro por causa de python 3.4

    
por codeclue 13.12.2017 / 10:13

5 respostas

15

Do comentário:

sudo update-alternatives --config python

mostrará um erro:

update-alternatives: error: no alternatives for python3 

Você precisa atualizar seu update-alternatives e, em seguida, poderá definir sua versão padrão do python.

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.4 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 2

Em seguida, execute:

sudo update-alternatives --config python

Defina python3.6 como padrão.

Ou use o seguinte comando para definir python3.6 como padrão:

sudo update-alternatives  --set python /usr/bin/python3.6
    
por 14.12.2017 / 13:11
3

Uma resposta fácil seria adicionar um alias para python3.6.

Basta adicionar esta linha no arquivo ~ / .bashrc: alias python3="python3.6" , fechar seu terminal e abrir um novo. Agora, quando você digita python3 xxx , ele é traduzido para python3.6 xxx .

Esta solução corrige seu problema sem precisar ajustar muito seu sistema.

EDITAR:

Como Mikael Kjær apontou, esta é uma configuração incorreta de ansible com seu sistema .

Como visto aqui:

Set the ansible_python_interpreter configuration option to /usr/bin/python3. The ansible_python_interpreter configuration option is usually set per-host as an inventory variable associated with a host or group of hosts:

  # Example inventory that makes an alias for localhost that uses python3
  [py3-hosts]
  localhost-py3 ansible_host=localhost ansible_connection=local

  [py3-hosts:vars]
  ansible_python_interpreter=/usr/bin/python3

Como visto aqui sobre o arquivo de configuração:

Changes can be made and used in a configuration file which will be processed in the following order:

* ANSIBLE_CONFIG (an environment variable)
* ansible.cfg (in the current directory)
* .ansible.cfg (in the home directory)
* /etc/ansible/ansible.cfg
    
por 13.12.2017 / 10:27
0

Crie um symlink para / usr / bin / python3. No meu LinuxMint:

# ls -lh /usr/bin/python3 /usr/bin/python
lrwxrwxrwx 1 root root 9 ноя 24  2017 /usr/bin/python -> python2.7
lrwxrwxrwx 1 root root 9 сен  6  2017 /usr/bin/python3 -> python3.5

# mv /usr/bin/python
# cp /usr/bin/python3 /usr/bin/python
# python --version
Python 3.5.2
    
por 04.12.2018 / 12:13
-1

abra o terminal e digite: gedit ~/.bashrc e adicione a seguinte linha:

alias python=python3.x

em que x é a sua versão em python.

Codificação feliz.

    
por 18.11.2018 / 23:42
-2

usar esses comandos pode ajudar você:

  1. verifique a versão do python: %código%
  2. alias: %código%
  3. re-login: %código%
  4. verifique a versão do python novamente: %código%
por 08.11.2018 / 12:44