Python en Ubuntu: entornos virtuales sin tocar el sistema

Índice de contenido
  1. Instala los componentes necesarios
  2. Crea un entorno del proyecto
  3. Instala y comprueba una dependencia
  4. Reconstruye, no dependas de tu sesión
  5. Entorno administrado y PEP 668
  6. Si necesitas varias versiones
  7. Limpieza y datos
  8. Preguntas frecuentes
    1. ¿venv instala otra versión de Python?
    2. ¿Por qué pip instaló algo y mi script no lo encuentra?
    3. ¿Debo usar sudo dentro del entorno virtual?
  9. En pocas palabras
  10. Conclusión
  11. Fuentes y documentación

Para desarrollar con Python en Ubuntu, utiliza un entorno virtual por proyecto. Así separas bibliotecas de tu aplicación de los paquetes que necesita el sistema. Reemplazar el Python del sistema o utilizar sudo pip install como receta general puede romper herramientas de la distribución.

Primero comprueba la versión disponible y los requisitos del proyecto. Si necesitas otra versión, elige un método mantenido que no sustituya dependencias del sistema.

Instala los componentes necesarios

sudo apt update
sudo apt install python3 python3-venv python3-pip
python3 --version
command -v python3

El paquete de Ubuntu y su soporte dependen de la distribución. No determines su seguridad únicamente por comparar el número con la versión más reciente de python.org.

Crea un entorno del proyecto

mkdir python-lab
cd python-lab
python3 -m venv .venv
source .venv/bin/activate
python --version
python -m pip --version

El prefijo del prompt puede cambiar, pero la comprobación útil es la ruta del intérprete y de pip. Utiliza python -m pip para reducir confusiones entre ejecutables.

La carpeta .venv no se debe subir normalmente al repositorio ni copiar como sustituto de la reconstrucción del entorno.

Instala y comprueba una dependencia

En un proyecto de práctica puedes instalar una biblioteca conocida y comprobar desde qué entorno se importa:

python -m pip install requests
python -c "import requests; print(requests.__version__)"
python -m pip freeze > requirements.txt

Revisa requisitos y procedencia de los paquetes. Que una instalación termine sin errores no acredita que la biblioteca sea adecuada o esté libre de vulnerabilidades.

El archivo generado registra el entorno actual; decide qué mecanismo de bloqueo y mantenimiento necesita tu proyecto. Para una aplicación importante, incluye pruebas y una política de actualización.

Reconstruye, no dependas de tu sesión

Desactiva el entorno con deactivate cuando termines. Para tareas programadas o servicios, suele ser más claro ejecutar la ruta .venv/bin/python directamente en lugar de confiar en una activación interactiva.

Un error ModuleNotFoundError puede indicar que estás usando otro intérprete. Comprueba rutas antes de instalar la misma dependencia globalmente.

Entorno administrado y PEP 668

Algunas distribuciones impiden que pip modifique el entorno global administrado por el sistema. Ese mensaje protege la separación de paquetes.

No lo resuelvas forzando la ruptura del entorno como primer paso. Usa venv para proyectos y herramientas apropiadas para aplicaciones de usuario. Sigue el procedimiento del proveedor si necesitas una integración del sistema.

Si necesitas varias versiones

Un gestor como pyenv puede ser útil, pero añade compilación o instalación, dependencias y configuración de shell. Comprueba soporte y compatibilidad y conserva la versión elegida por proyecto.

Cambiar un alias no actualiza automáticamente servicios, notebooks o tareas cron. Cada proceso debe utilizar el intérprete que corresponda.

Limpieza y datos

Puedes recrear un entorno virtual si conservas requisitos y código. No borres una carpeta de proyecto sin revisar archivos, bases locales y credenciales que puedan vivir junto a ella.

Preguntas frecuentes

¿venv instala otra versión de Python?

Utiliza el intérprete con el que se crea. Para otra versión necesitas disponer de ese intérprete y crear el entorno correspondiente.

¿Por qué pip instaló algo y mi script no lo encuentra?

Puede haber dos intérpretes o entornos distintos. Comprueba python -m pip --version y la ruta utilizada al ejecutar el script.

¿Debo usar sudo dentro del entorno virtual?

No para instalar dependencias habituales del proyecto. Si aparecen errores de permisos, revisa propietario y ubicación en vez de ampliar privilegios automáticamente.

En pocas palabras

Un entorno virtual aísla dependencias del proyecto sin reemplazar el Python del sistema. Debes activarlo o utilizar su intérprete explícitamente para que scripts y paquetes coincidan.

Conclusión

Conserva el archivo de requisitos y comprueba que otro entorno limpio puede ejecutar el proyecto. Actualiza dependencias y versiones con pruebas, evitando modificar el intérprete de Ubuntu por comodidad.

Para continuar, revisa Cómo instalar Ubuntu desde una USB: paso a paso y Cómo instalar Docker en Ubuntu 24.04: guía práctica paso a paso.

Fuentes y documentación

Documentación de docs.python.org.

Documentación de packaging.python.org.

Subir

Descubre más de Sergio Caballero

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Continuar leyendo