desarrollo-web-br-bd.com

Cambiar la versión predeterminada de Python3 en Ubuntu

Estoy usando Ubuntu 16.04 LTS. Yo tengo python3 instalado. Hay dos versiones instaladas, python 3.4.3 y python 3.6. Cada vez que uso python3 comando, se necesita python 3.4.3 por defecto. Quiero usar python 3.6 con python3.

python3 --version muestra version 3.4.3

Estoy instalando ansible que admite version > 3.5. Entonces, cada vez que escribo ansible en la terminal, arroja un error debido a python 3.4

123
codeclue

Del comentario:

Sudo update-alternatives --config python

Te mostrará un error:

update-alternatives: error: no alternatives for python3 

Necesitas actualizar tu update-alternatives, entonces podrá establecer su versión predeterminada 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

Entonces corre :

Sudo update-alternatives --config python

Establecer python3.6 como predeterminado.

O utilice el siguiente comando para configurar python3.6 como predeterminado:

Sudo update-alternatives  --set python /usr/bin/python3.6
173
GAD3R

Puede lograr esto aplicando los siguientes pasos simples:

  1. Verifique python versión en la terminal - python --version
  2. Obtenga privilegios de usuario root. En tipo de terminal - Sudo su
  3. Anote la contraseña del usuario root
  4. Ejecute este comando para cambiar a python 3.6 -
    update-alternatives --install /usr/bin/python python /usr/bin/python3 1
  5. Verifique python versión - python --version
  6. Hecho.
21
Vineet Jain

El uso de estos comandos puede ayudarlo a:

  1. verifique la versión de python: ls /usr/bin/python*
  2. alias: alias python='/usr/bin/pythonxx' (agregue esto a . ~/.bashrc)
  3. reiniciar sesión o fuente . ~/.bashrc
  4. compruebe la versión python nuevamente: python --version
12
Newt

Cree un enlace simbólico para/usr/bin/python3. En mi 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 /usr/bin/python.bak
# cp /usr/bin/python3 /usr/bin/python
# python --version
Python 3.5.2
6
nabi sheyhov

Una respuesta fácil sería agregar un alias para python3.6.

Simplemente agregue esta línea en el archivo ~/.bashrc: alias python3="python3.6", luego cierre su terminal y abra una nueva. Ahora cuando escribe python3 xxx se traduce a python3.6 xxx.

Esta solución soluciona su problema sin necesidad de ajustar demasiado su sistema.

EDITAR:

Como Mikael Kjær señaló, esta es una configuración incorrecta de ansible con su sistema.

Como se ve aquí:

Selecciona el ansible_python_interpreter opción de configuración para/usr/bin/python3. La opción de configuración ansible_python_interpreter generalmente se establece por Host como una variable de inventario asociada con un Host o grupo de 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 se ve aquí sobre el archivo de configuración:

Los cambios se pueden realizar y utilizar en un archivo de configuración que se procesará en el siguiente orden:

* ANSIBLE_CONFIG (an environment variable)
* ansible.cfg (in the current directory)
* .ansible.cfg (in the home directory)
* /etc/ansible/ansible.cfg
4
user264413

si tiene varias versiones de python en su sistema. Solo necesita actualizar el enlace simbólico de python dentro de /usr/bin/

[email protected]:/usr/bin# ls -lrth python*
lrwxrwxrwx 1 root root    9 Apr 16  2018 python -> python2.7
-rwxr-xr-x 1 root root 3.6M Nov 12  2018 python2.7
-rwxr-xr-x 2 root root 4.4M May  7 14:58 python3.6

En el ejemplo anterior, si ve la salida de python --version obtendrá python2.7

Ahora actualice el enlace simbólico python usando el siguiente comando-

[email protected]:/usr/bin# unlink python
[email protected]:/usr/bin# ln -s /usr/bin/python3.6 python
[email protected]:/usr/bin# python --version
Python 3.6.8
3
IRSHAD

la primera comprobación de tu carpeta python3.6

ls /usr/bin/python3.6

si tienes una carpeta como python3.6 bueno para ir

luego actualizar-alternativas

Sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1

ahora actualice la nueva configuración para python3

Sudo update-alternatives --config python3

verificar python versión

python3 --version

2
mmblack

abra la terminal y escriba: gedit ~/.bashrc y agregue la siguiente línea:

alias python=python3.x

donde x es su python versión.

Feliz codificación.

1
Priyanshu Tiwari

Puede cambiar el enlace simbólico por ln -sf python3.6 python3 Dentro de /usr/bin. Con esto cuando llamas a python3 Se ejecutará python3.6

1
SPAWN35

actualización-alternativas es cambiar los enlaces simbólicos del sistema a enlaces simbólicos definidos por el usuario/definidos por el administrador. Si tiene varias versiones de python3 instaladas en su sistema y desea controlar qué versión de python3 invocar cuando se llama a python3. Haz lo siguiente

Sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.4 1
Sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 2

Ejecute el siguiente comando si desea cambiar la prioridad en el futuro.

update-alternatives --config python3

Explicación:-

Sudo update-alternatives --install <symlink_Origin> <name_of_config> <symlink_destination> <priority>

Puede continuar cambiando name_of_config a python4, pero luego debe invocar las alternativas de actualización --config con python4 para reconfigurar.

Con este enfoque, puede controlar el sistema python y versión de python3 por separado).

0
wittyurchin