Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problema con la versión default de python 3.8 en Linux Ubuntu 16.04 #12

Closed
vattlestar opened this issue Aug 22, 2021 · 18 comments
Closed

Comments

@vattlestar
Copy link

Prerrequisitos

(Marcar colocando una X entre los corchetes los ítems que ya hiciste, así: "[X]")

Problema

He intentado de muchas formas de cambiar la versión default de python 3.8 en mi pc con linux ubuntu 16.04 y no lo he logrado. Mi pc utiliza python 3.8.5 para otras funciones por lo que esta versión es utilizada por "default". Intenté utilizar este código:
Captura de pantalla de 2021-08-21 21-35-26
Hay alguna otra forma de poder cambiar la versión default, o tendré que seleccionar con qué versión de python trabajar en vscode o jupyter notebook?
slds.

@agucova
Copy link

agucova commented Aug 23, 2021

Ubuntu 16.04 es una versión bastante antigua de Ubuntu que solo recibe actualizaciones extendidas de seguridad y por ello no incluye versiones nuevas de Python en sus repositorios, sin embargo tienes varias opciones:

Utilizar una herramienta para manejar versiones de Python

Esto es probablemente lo más fácil para evitar conflictos con la versión del sistema de Python (ya que reemplazarla podría romper cosas).

Una herramienta popular de manejo de versiones de python es pyenv, la que se puede instalar fácilmente corriendo:

curl https://pyenv.run | bash

Y siguiendo las instrucciones. Luego, tendrás que reiniciar tu terminal y correr los siguientes comandos para instalar Python 3.8.11 y hacerla la versión por defecto del sistema:

pyenv install 3.8.11 
pyenv global 3.8.11

Nota que esto va a requerir que elijas explícitamente la versión 3.8.11 instalada por pyenv en tu editor. Por ejemplo en VSCode:

image

Utilizar un PPA

Esto permite instalar una versión mas reciente de Python utilizando apt, y dejar que las herramientas de Ubuntu decidan entre versiones.

Sin embargo, no pude encontrar un PPA mantenido que incluya la 3.8.10 o 3.8.11 para 16.04, ya que la mayoría viene con 3.10, 3.9 o 3.7 (como deadsnakes), o bien solo actualizaron hasta 3.8.9.

Instalar Python manualmente

No recomiendo esto, porque suele ser díficil de mantener, pero es un último recurso.

Primero, querrás instalar los requisitos para compilar Python:

sudo apt update
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget

Luego, querrás descargar Python 3.8.11 en un directorio temporal:

cd /tmp
wget https://www.python.org/ftp/python/3.8.11/Python-3.8.11.tgz

Y luego desempacar el .tgz, entrar al directorio, configurar el proceso de compilación e iniciar el proceso de compilación reemplazando el número en -j 1 por el número de núcleos en tu computador:

tar -xf Python-3.8.11.tgz
cd Python-3.8.11
./configure --enable-optimizations
make -j 1
sudo make altinstall

Verás un montón de cosas pasando en tu pantalla, no te asustes. En mi computador (relativamente rápido) todo el proceso tomó 4 minutos, pero prepárate para esperar hasta 15 minutos.

Una vez terminado, tu editor debería mostrar la opción para utilizar Python 3.8.11 automáticamente.

@fernandosmither
Copy link
Member

@vattlestar ¿Fue suficiente la respuesta del compañero?

Quedo atento.

@vattlestar
Copy link
Author

Ya tengo instalado python 3.8.11, y hallé la forma de seleccionar esta version en vscode. Pero no en la terminal de ubuntu el default es la version 3.8.5, no sé si esto es problema para el curso en si.

@agucova
Copy link

agucova commented Aug 23, 2021

Ya tengo instalado python 3.8.11, y hallé la forma de seleccionar esta version en vscode. Pero no en la terminal de ubuntu el default es la version 3.8.5, no sé si esto es problema para el curso en si.

Si ejecutas Python utilizando VSCode no es un problema, pero puede serlo al ejecutar cosas a mano. ¿Qué método usaste para instalar Python?

@vattlestar
Copy link
Author

lo instalé directamente de la source

@try-except
Copy link

si corres python3.8.11 en la terminal funciona? El alias "python" probablemente apunta al intérprete por default

@vattlestar
Copy link
Author

no me lo corre :(

@try-except try-except self-assigned this Aug 23, 2021
@try-except
Copy link

Puedes postear un screenshot del lugar donde elegiste python3.8.11 en VSCode? Para agregar una imágen puedes copiarla y pegarla o arrastrarla cuando escribas tu respuesta

@vattlestar
Copy link
Author

image

@try-except
Copy link

try-except commented Aug 23, 2021

Gracias por la foto! Pero me refería al menú que usaste, como este:

image

@vattlestar
Copy link
Author

image

@try-except
Copy link

try-except commented Aug 24, 2021

Perfecto, si usas el comando python3.8 en la terminal, funciona? Porfa copia y pega el output o sube un screenshot

@agucova
Copy link

agucova commented Aug 24, 2021

Si Python está en /usr/local/bin/, asumo que debe estar en PATH.

Si efectivamente funciona al correr python3.8, puedes hacer lo siguiente para asociar los otros comandos:

echo "alias python3='python3.8'" >> ~/.bash_aliases
echo "alias python='python3.8'" >> ~/.bash_aliases

Y reinicia tu terminal.

@vattlestar
Copy link
Author

image

@agucova
Copy link

agucova commented Aug 24, 2021

Anaconda probablemente está tomando preferencia por sobre 3.8.11. Anaconda complica las cosas porque además está activando su entorno de Python con tu terminal.

Una opción es desinstalar Anaconda:

conda install anaconda-clean
anaconda-clean

Otra opción es desactivar el activado automático del entorno (base) que viene con Anaconda, corriendo:

conda config --set auto_activate_base False

La última opción es desactivar el auto-inicio de Anaconda en ~/.bash_profile (es un archivo oculto, puedes abrirlo escribiendo xdg-open ~/.bash_profile o abriendo tu carpeta de inicio con VSCode). Ahí deberías ver una línea parecida a esto:

export PATH="/home/valentina/anaconda3/bin:$PATH"

La que puedes desactivar comentándola, agregando un # al principio. Luego deberías desactivar el auto-inicio del entorno (base) de Anaconda con comentando de la misma forma la línea que contiene conda init en el archivo ~/.bashrc.

@vattlestar
Copy link
Author

No tengo instalado anaconda, lo tenía y lo desinstalé antes de instalar python 3.8 nuevamente

@agucova
Copy link

agucova commented Aug 24, 2021

El output de la screenshot que enviaste recién sugiere lo contrario, tienes una versión de Python de Anaconda y el (base) en tu terminal indica que tienes un entorno activado.

Probablemente desinstalaste Navigator y no la instalación completa, o falló la desinstalación por alguna razón.

@vattlestar
Copy link
Author

Probé con la línea para desactivar el entorno y luego puse la version 3.8.11 como default desde el root y funcionó!
Muchas gracias c:

@stale stale bot added the inactiva label Sep 1, 2021
@stale stale bot closed this as completed Sep 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants