Tutoriales Ubuntu

Instalar Python 3.9, pip 20 y Django 3 en Ubuntu y soluciones SQLite3

Primero de todo, instalamos Python 3.9 ejecutando los siguientes comandos en la terminal:

sudo apt update
sudo apt install software-properties-common

Añadimos al repositorio

sudo add-apt-repository ppa:deadsnakes/ppa

Instalamos Python 3.9

sudo apt install python3.9

Instalamos Pip, que es el gestor de paquetes de Python, usando los siguientes comandos

sudo apt update
sudo apt install python3-pip

Comprobamos las versiones poniendo en la consola:

python -V

y nos debería devolver: Python 3.9.0, a continuación escribimos:

pip -V

Debería devolvernos: pip 20.2.4, en caso contrario, podemos forzar la actualización de pip con el comando:

sudo apt update

Una vez instalado, vamos a proceder a instalar Django 3 con pip:

sudo -H pip install Django

Podemos forzar la versión de Django con:

sudo -H pip install Django==3.1.3

Nos vamos a nuestro directorio de trabajo, en mi caso /var/www/html y creamos nuestro primer proyecto con Django:

django-admin startproject ejemplo

Nos movemos al directorio /var/www/html/ejemplo recién creado y creamos nuestra primera app en Django:

sudo python3 manage.py startapp hello

Si recibimos el error de que no encuentra el módulo _sqlite3 podemos probar a instalarlo manualmente con los siguientes 2 comandos:

sudo apt-get install sqlite3
sudo apt-get install libsqlite3-dev

Y luego volver a compilar Python 3.9. Nos vamos al directorio de Python3.9, en mi caso ~/Python3.9.0 y ejecutamos el siguiente comando:

sudo ./configure --enable-loadable-sqlite-extensions && make && sudo make install

Después de todo esto a mi me seguía sin funcionar y lo único que me funcionó después de volverme loco durante horas fue recompilar Python 3.9 de esta manera. Nos vamos al directorio de Python3.9, en mi caso ~/Python3.9.0 con estos 2 comandos:

sudo LD_RUN_PATH=/usr/local/lib ./configure --enable-optimizations
sudo LD_RUN_PATH=/usr/local/lib make install

Espero que os haya ayudado y resultado útil el tutorial. A programar!

Salir de la versión móvil