GNU/Linux >> Tutoriales Linux >  >> Linux

Dos versiones de python en linux. cómo hacer que 2.7 sea el predeterminado

Agregar /usr/local/bin a tu PATH variable de entorno, antes en la lista que /usr/bin .

En general, esto se hace en el archivo rc de su shell, p. para bash, pondrías esto en .bashrc :

export PATH="/usr/local/bin:$PATH"

Esto hará que su shell busque primero un python en /usr/local/bin , antes de que vaya con el de /usr/bin .

(Por supuesto, esto significa que también debe tener /usr/local/bin/python apunta a python2.7 - si aún no lo está, deberá vincularlo.)


Introduce el comando

which python

//output:
/usr/bin/python

cd /usr/bin
ls -l

Aquí puedes ver algo como esto

lrwxrwxrwx 1 root   root            9 Mar  7 17:04  python -> python2.7

su python2.7 predeterminado está vinculado al texto 'python'

Así que elimine el enlace suave python

sudo rm -r python

luego vuelva a intentar el comando anterior

ls -l

puede ver que el vínculo suave se eliminó

-rwxr-xr-x 1 root   root      3670448 Nov 12 20:01  python2.7

Luego cree un nuevo enlace suave para python3.6

ln -s /usr/bin/python3.6 pitón

Luego prueba el comando python en la terminal

//output:
Python 3.6.7 (default, Oct 22 2018, 11:32:17) 
[GCC 8.2.0] on linux

Escribe help , copyright , credits o license para más información.


Probablemente no quieras cambiar tu Python predeterminado.

Tu distribución instaló un sistema estándar Python en /usr/bin , y puede tener scripts que dependen de que esto esté presente y seleccionado por #! /usr/bin/env python . Puede normalmente salirse con la suya ejecutando scripts de Python 2.6 en 2.7, pero ¿quiere correr el riesgo?

Además de eso, hacer el mono con /usr/bin puede romper la capacidad de su administrador de paquetes para administrar paquetes. Y cambiando el orden de los directorios en tu PATH afectará a muchas otras cosas además de Python. (De hecho, es más común tener /usr/local/bin delante de /usr/bin , y puede ser lo que realmente desea, pero si es al revés, presumiblemente hay una buena razón para ello).

Pero no necesitas para cambiar su Python predeterminado para que el sistema ejecute 2.7 cuando escribe python .

Primero, puede configurar un alias de shell:

alias python=/usr/local/bin/python2.7

Escríbalo cuando se le solicite, o póngalo en su ~/.bashrc si desea que el cambio sea persistente, y ahora cuando usted escribe python ejecuta su 2.7 elegido, pero cuando algún programa en su sistema intenta ejecutar un script con /usr/bin/env python ejecuta el estándar 2.6.

Alternativamente, simplemente cree un entorno virtual a partir de su 2.7 (o venvs separados para diferentes proyectos) y haga su trabajo dentro del venv.


Linux
  1. Cómo administrar múltiples versiones de Python con Pyenv en Linux

  2. Cómo encontrar la IP de la puerta de enlace predeterminada en Linux

  3. Cómo instalar Python 3.10 en Rocky Linux 8

  4. Compara dos imágenes al estilo python/linux

  5. Cómo ejecutar el archivo python en linux

Cómo usar y aprovechar al máximo el comando fuser en Linux

Cómo hacer un archivo ejecutable en Linux

Cómo cambiar el shell de usuario predeterminado en el sistema operativo Linux

Cómo cambiar el shell predeterminado en el sistema Linux

¿Cómo veo el documento de Python en Linux?

Cómo configurar dos rutas predeterminadas en Linux