martes, 19 de noviembre de 2013

Virtualenv, qué, por qué y cómo.


Cuando alguien empieza en el mundo de python lo que hace es crear sus programas e instalar librerías indiscriminadamente, sin tener en cuenta que puede que más adelante tenga conflictos a causa de las versiones de las librerías necesarias para sus proyecto. Es aquí donde Virtualenv salva el día.



¿Qué es Virtualenv?:
Virtualenv es una herramienta para crear entornos de python aislados, es decir entornos donde las librerías o las versiones de python no interfieren con las carpetas que python tiene por defecto en la maáquina. Haciendo una analogía con un edificio, un entorno vendría siendo como una planta, usa ciertos recursos como el agua o la energía eléctrica (para el caso de python usa la misma máquina) y a su vez cada planta tiene sus propios recursos, tales como los muebles, las habitaciones y demás (para el caso de python hablamos de librerías.).

¿Por qué?:
Cuando tienes python en tu máquina probablemente debas usar django 1.5 para un proyecto que surgio hace tiempo, y django1.6 para poder usar nuevas funciones, por esto es necesario usar Virtualenv, porque con ésta herramienta puedes crear espacios de trabajo separados con diferentes librerías o diferentes versiones de las mismas.

¿Cómo?:
Instalación:
primero debes tener python, luego instalas setuptools para poder usar easy_install, con easy_install instalas pip mediante la orden
easy install pip
y finalmente con pip instalas virtualenv
pip install virtualenv

nota: si usas Windows deberías agregar la carpeta de scripts de Python al path del sistema para poder usarlo desde la línea de comandos, mira este enlace.

Modo de empleo:

  • Crear un entorno 
    • virtualenv nombre_del_entorno 
  • Crear un entorno totalmente aislado virtualenv --no-site-packages nombre_del_entorno 
  • Usar un entorno especifico:
    • Hay que tener en cuenta que si es windows se hace de una manera un tanto diferente, puesto que en la carpeta del entono el genera una subcarpeta llamada Scripts y ahí está ubicado un archivo llamado activate.bat, mediante este se activa el entorno, entonces:
      • Para Windows (mediante la linea de comandos):
        • C:\.....\carpeta> ruta\a\la\carpeta\del\entorno\Scripts\activate.bat 
      • Para *nix [Mac, Linux] (desde la consola):
        • source /ruta/a/la/carpeta/del/entono/bin/activate 
    • nota: si el entorno quedo bien activado al principio de la linea de la consola debe aparecer entre parentesis el nombre del entorno, mas o menos así: 
      • (entorno)ogranada@maquina:~/python$ 
  • Para buscar paquetes 
    • pip search 
  • Instalar un paquete 
    • pip install paquete 
  • Eliminar paquete 
    • pip uninstall paquete 
  • Listar paquetes instalados (sirve para replicar el entono) 
    • solo listar 
      • pip freeze 
    • hacer archivo para replicar entorno 
      • pip freeze > requirements.txt 
  • Salir del entorno
    • deactivate



Espero que les sirva de ayuda.

Si te gusto el post
compartelo... :D

No hay comentarios:

Publicar un comentario