Instalar Python 3 y entornos virtuales con venv
Dedicados & VPS
1

Instalar Python 3 y entornos virtuales con venv

Python viene preinstalado en casi cualquier VPS Linux moderno, pero la versión depende de la distribución. Antes de arrancar cualquier proyecto serio, debes saber qué versión tienes, cómo instalar otra si la necesitas y, sobre todo, cómo aislar las dependencias de cada aplicación usando entornos virtuales.

Comprobar la versión instalada

En la terminal de tu VPS ejecuta:

python3 --version

Si la versión es 3.8 o mayor, ya estás en buen terreno para la mayoría de frameworks modernos. En Debian 12 o Ubuntu 22.04 vas a ver típicamente 3.10 o 3.11. Si necesitas una versión más reciente (por ejemplo, 3.12), puedes añadir el repositorio deadsnakes en Ubuntu o compilarla desde el código fuente.

Paquetes necesarios

Instala el paquete de soporte para entornos virtuales y las herramientas de desarrollo:

sudo apt update
sudo apt install python3 python3-venv python3-pip python3-dev build-essential

El paquete python3-dev incluye los headers necesarios cuando pip tiene que compilar librerías con código en C (muy común con paquetes como Pillow, psycopg2 o lxml).

Por qué NO debes usar sudo pip

Una trampa clásica en la que caen muchos: instalar paquetes con sudo pip install paquete. Nunca lo hagas. Ensucia los archivos del sistema, puede romper herramientas del propio Linux (que también dependen de Python) y mezcla versiones de librerías entre proyectos distintos, provocando los famosos conflictos de dependencias.

La solución correcta es crear un entorno virtual para cada proyecto.

Crear un entorno virtual

Ve al directorio donde vas a guardar tu proyecto y ejecuta:

cd /var/www/miproyecto
python3 -m venv venv

El segundo argumento (venv) es el nombre de la carpeta donde se creará el entorno. Se usa esta convención porque queda claro qué es, pero puedes llamarlo como quieras. Dentro encontrarás copias del intérprete de Python, sus binarios y su propia carpeta site-packages donde se instalarán los paquetes aislados del sistema.

Activar y desactivar

Para usar el entorno:

source venv/bin/activate

Notarás que tu prompt cambia y muestra algo como (venv) al inicio. A partir de ese momento, cualquier python o pip que ejecutes usa los binarios del entorno y no los del sistema. Para salir del entorno basta:

deactivate

Instalar dependencias

Con el entorno activo, instala lo que necesites:

pip install flask
pip install django gunicorn psycopg2-binary

Para congelar el estado actual de dependencias en un archivo:

pip freeze > requirements.txt

Este archivo describe las versiones exactas de cada paquete instalado. Cuando muevas el proyecto a otro servidor, solo tendrás que recrear el venv y correr:

pip install -r requirements.txt

De esta forma garantizas que el entorno de producción sea idéntico al de desarrollo y evitas el clásico "pero en mi máquina funcionaba".

Recomendación final

Nunca subas la carpeta venv/ a tu repositorio Git. Agrégala al .gitignore. Lo que sí debes versionar es el requirements.txt, para que cualquier persona pueda reproducir el entorno en segundos.