Moviendo entornos virtuales virtualenv

Una de las ventajas de los entornos virtuales es que los podemos recrear en cualquier máquina con muy poco coste de tiempo, siempre que tengamos los requisitos más o menos documentados es tan sencillo como lanzar un comando para volver a construirlo ¿o no?. La teoría es fantástica pero en la práctica siempre surgen - como no - problemas murphianos.

En base a una necesidad muy concreta me ha tocado mover virtualenvs de ubicación para reorganizar tanto el código como los entornos en el maltrecho disco duro de mi portátil, y por eso he creado esta pequeña muestra de script "quick and dirty" (movenv):

#!/bin/bash

VIRTUALENV=`which virtualenv`
OLD=$1 # /absolute/path/to/old/env
NEW=$2 # /absolute/path/to/new/env

${VIRTUALENV} --relocatable ${OLD}
mv ${OLD} ${NEW}
${SED} -i -e "s#${OLD}#${NEW}#g" ${NEW}/bin/activate

Ahora sólo tenemos que ejecutarlo movenv /path/old/env /path/to/new/env y comprobar que todo sigue en funcionando en la nueva ubicación. Ni que decir tiene que el script es una pequeña prueba de concepto, habría que añadir validación de existencia de directorios y algunas otras cosas para que fuera plenamente funcional.

python code

About the author

Óscar
has doubledaddy super powers, father of Hugo and Nico, husband of Marta, *nix user, Djangonaut and open source passionate.
blog comments powered by Disqus