Instalación de VirtualEnv en Webfaction
Originalmente este fue realizado en ingles el tutorial solo lo estoy traduciendo al español
Original: Comunity Wefaction – Simple virtualenv usage with django
En primer lugar, establecer su versión python. Asumo python2.7 en este ejemplo.
1 |
PYTHONVER=2.7 |
Instalamos el virtualenv y virtualenvwrapper
1 2 3 4 5 |
PYTHON=python{PYTHONVER} mkdir -p $HOME/{bin,tmp,lib/$PYTHON} easy_install-${PYTHONVER} pip pip install --user virtualenv pip install --user virtualenvwrapper |
Actualizamos el $HOME/.bashrc con las variables de entorno apropiadas
1 2 3 4 5 6 7 8 9 10 |
echo 'export PATH="$HOME/bin:$PATH"' >> $HOME/.bashrc echo 'export TEMP="$HOME/tmp"' >> $HOME/.bashrc echo "alias python={PYTHON}" >> $HOME/.bashrc echo "export PYTHON=${PYTHON}" >> $HOME/.bashrc echo 'export WORKON_HOME="$HOME/.virtualenvs"' >> $HOME/.bashrc echo 'export VIRTUALENVWRAPPER_TMPDIR="$WORKON_HOME/tmp"' >> $HOME/.bashrc echo "export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/$PYTHON" >> $HOME/.bashrc echo 'source $HOME/bin/virtualenvwrapper.sh' >> $HOME/.bashrc echo 'export PIP_VIRTUALENV_BASE=$WORKON_HOME' >> $HOME/.bashrc echo 'export PIP_RESPECT_VIRTUALENV=true' >> $HOME/.bashrc |
Cargamos nuestros cambios
1 2 |
source $HOME/.bashrc hash -r |
Ahora que virtualenv y virtualenvwrapper están instalados, puede crear, activar, desactivar y eliminar entornos:
Crear virtualenv «foo» en $WORKON_HOME:
1 |
mkvirtualenv foo |
Activar virtualenv «foo»:
1 |
workon foo |
Desactivar virtualenv
1 |
deactivate |
Eliminar virtualenv «foo»
1 |
rmvirtualenv foo |
Esta virtualenv no utilizará los paquetes web globales en /usr/local/pythonX.Y/site-packages
. Esto se debe a que, a partir de virtualenv 1.7, la opción --no-site-packages
está activo por defecto.
Sin embargo, debido a el archivo sitecustomize.py
mundial en /usr/local/pythonX.Y/sitecustomize.py
, se agregan los paquetes dentro de su directorio $HOME/lib/pythonX.Y
a su ruta de python, incluso dentro de un virtualenv .
En algunos casos, esto es lo que quiere y es conveniente. Otras veces, no quieren un virtualenv particular, a utilizar sus paquetes en casa instalado. Si ese es el caso, a continuación, cree un archivo sitecustomize.py vacío dentro del virtualenv sí, que actuará para anular la global y evitar que los paquetes caseros instalado se agreguen a su trayectoria:
1 2 3 4 |
mkvirtualenv foo deactivate touch $WORKON_HOME/foo/lib/$PYTHON/sitecustomize.py workon foo |
y entonces este virtualenv («foo») no utilizará los paquetes python en $HOME/lib/pythonX.Y
.