Entorno virtual - Crear una máquina virtual con Python

Python (Entornos Virtuales): Opción 1:

  • Usa venv o virtualenv para crear entornos virtuales aislados.
  • Cada proyecto tendrá sus propias librerías y dependencias sin afectar el sistema global.

1. Instalar Python 3

  • Abre una terminal. CTRL + ALT + T
  • Actualiza los repositorios con:
  • sudo apt update
    
  • Instala Python 3 y pip (el gestor de paquetes de Python):
  • sudo apt install python3 python3-pip
    
  • Verifica la instalación:
  • python3 --version
    pip3 --version
    

 En la mayoría de los sistemas modernos, Python ya incluye el módulo venv. Si no lo tienes, asegúrate de instalarlo 

 

2. Crear un entorno virtual

Instala el módulo venv si no está ya instalado:

sudo apt install python3-venv

3. Crea un entorno virtual en el directorio deseado:

Sigue estos pasos para crear un entorno virtual de Python:

  1. Abre tu terminal: Ctrl + alt + T
  2. Navega al directorio donde quieres crear el entorno virtual.
  3. Usa este comando para crear el entorno virtual:
  4. python3 -m venv nombre_entorno
  5. Cambia nombre_entorno al nombre que prefieras para tu entorno virtual.

4. Activar el entorno virtual:

source nombre_entorno/bin/activate 

Cuando la máquina virtual está activa, verás su nombre en el prompt, que aparece al inicio de la línea de comandos, indicando que está activo. lo que indica que ahora estás trabajando dentro del entorno aislado.

5. Instalar paquetes en la máquina virtual

  • Antes de instalar paquetes y dependencias: Asegúrate de que el entorno virtual está activado.
  • Usa pip para instalar paquetes. Por ejemplo:
pip install nombre_del_paquete
  • Puedes instalar las librerías necesarias utilizando pip.  
pip install flask django numpy pandas
  • Para instalar dependencias desde un archivo requirements.txt:
pip install -r requirements.txt
 
  • Lista los paquetes instalados:
pip list 

Estos paquetes estarán disponibles solo dentro de este entorno virtual.

6- Ejecutar archivos de Python

 Navega al directorio donde está tu archivo .py:

cd ruta/del/archivo

Ejecuta el archivo con Python 3:

python3 nombre_del_archivo.py

7. Desactivar entorno virtual

deactivate

Esto vuelve al entorno global de Python.

 

Opción 2: Usar un Único Entorno Virtual Python (venv)

Puedes usar un único entorno virtual (venv) para múltiples proyectos, pero debes ser disciplinado en la gestión de dependencias para evitar conflictos.

Paso a paso para usar un único venv:

1. Crea el entorno virtual:

En la carpeta donde deseas centralizar tus proyectos, crea el entorno virtual. Por ejemplo:  Esto crea un entorno virtual en la carpeta venv.

mkdir ~/entorno-proyectos
cd ~/entorno-proyectos
python3 -m venv venv

2- Activa el entorno virtual:

 Antes de trabajar en cualquier proyecto, activa el entorno: Verás que el nombre del entorno aparece en tu terminal. Por ejemplo: (venv).

 source venv/bin/activate
 

3. Gestiona dependencias específicas:

Para tu primer proyecto gestion-archivos, instala las dependencias necesarias: 

pip install flask
pip install requests

Crea un archivo de requerimientos para gestionar estas dependencias:

pip freeze > gestion-archivos-requirements.txt 

4. Trabaja en múltiples proyectos: Cuando inicies un nuevo proyecto, simplemente activa el mismo entorno virtual (venv) y añade sus dependencias. Por ejemplo:

pip install django
pip freeze > proyecto-dos-requirements.txt

5. Carga dependencias según el proyecto: Para cargar solo las dependencias necesarias para un proyecto específico, usa los archivos de requerimientos.

pip install -r gestion-archivos-requirements.txt 

 

Consideraciones de Seguridad y Buenas Prácticas

  1. Organización:
    • Mantén una buena estructura de carpetas para diferenciar claramente los proyectos.
    • Cada proyecto debe tener su propio archivo requirements.txt.
  2. Conflictos de dependencias:
    • Si dos proyectos requieren versiones diferentes de una misma librería, considera usar entornos virtuales separados para evitar problemas.
  3. Mantenimiento:
    • Regularmente elimina dependencias no utilizadas para mantener el entorno limpio.
    • Usa pip list para revisar las librerías instaladas y eliminar las innecesarias con:
 pip uninstall <libreria> 

 

Ventajas de Usar un Único venv o VM

  • Ahorro de espacio en disco al evitar múltiples entornos virtuales.
  • Facilidad de administración al centralizar los proyectos.
  • Flexibilidad para probar diferentes configuraciones sin afectar el sistema principal.
 

El error Permission

El error Permission denied indica que no tienes los permisos necesarios para ejecutar el script de activación del entorno virtual (activate). Este problema ocurre principalmente porque el archivo no tiene los permisos de ejecución adecuados o no fue configurado correctamente. 

1. Verificar los permisos del archivo

  • Revisa si el archivo activate tiene permisos de ejecución: Si en la salida ves algo como -rw-r--r--, significa que el archivo no tiene permisos de ejecución. Necesitas cambiarlos.
  •  ls -l .venv/bin/activate 
  • Solución: Otorga permisos de ejecución al archivo con este comando:
  •  chmod +x .venv/bin/activate 
  • Ahora intenta activarlo de nuevo:
  •  source .venv/bin/activate 

2. Verifica tu shell

Asegúrate de estar usando una shell compatible. En sistemas basados en Unix (Linux o macOS), el comando source o . (punto) es necesario para activar entornos virtuales. Por ejemplo:

 source .venv/bin/activate 
 . .venv/bin/activate 

3. Comprueba la instalación del entorno virtual

Si el problema persiste, puede ser que el entorno virtual no se haya configurado correctamente. Intenta eliminarlo y recrearlo:

 rm -rf .venv
python -m venv .venv 

Luego, activa el entorno virtual como corresponde:

 source .venv/bin/activate 

4. Verifica el propietario del archivo (opcional)

Si estás en un sistema con varios usuarios, asegúrate de que eres el propietario del archivo:

 ls -l .venv/bin/activate 

 Si no eres el propietario, cambia la propiedad del archivo (requiere permisos de superusuario):

 sudo chown tu_usuario:tu_usuario .venv/bin/activate 

5. Última opción: Cambiar a un shell limpio

Si nada de lo anterior funciona, es posible que tu shell actual tenga restricciones o configuraciones específicas. Intenta usar un shell nuevo o diferente (como bash, zsh, etc.), y luego ejecuta los comandos.

 bash
source .venv/bin/activate 

 


¿Puedes usar una máquina virtual de Python para instalar un sistema operativo?

  • No, una máquina virtual de Python no es lo mismo que una máquina virtual de hardware (como las creadas con VirtualBox, VMware o QEMU). 
  • Una máquina virtual de Python es un entorno aislado para manejar paquetes y configuraciones de Python, mientras que una máquina virtual de hardware simula un sistema operativo completo.
  • Si necesitas instalar un sistema operativo, debes usar herramientas especializadas para virtualización, como: 
    • VirtualBox
    •  VMware   
    • QEMU Estas herramientas te permiten simular hardware completo y correr un sistema operativo dentro de tu computadora.  

 

 

Destacado

Bootloader Avanzado en Ensamblador

Bootloader Avanzado en Ensamblador Características del Bootloader Se carga en la dirección 0x7C00 (BIOS). ...