Instalación¶
Shells soportados¶
virtualenvwrapper is un conjunto de funciones de shell definidas en una sintaxis compativle con shells Bourne. Sus test automatizados corren bajo cualquier de estos shells en OS X y Linux:
- bash
- ksh
- zsh
Quizás funcione con otros shells, si encuentras otro shell en dónde funcione que no está listado aquí, por favor házmelo saber. Si puedes modificarlo para que funcione en otro shell sin reescribirlo completamente, envíame una solicitud de pull a través de la página del proyecto en bitbucket. Si escribes un clon para trabajar con un shell incompatible, házmelo saber y voy a incluír el link desde ésta página.
Command Prompt de Windows¶
David Marble ha portado virtualenvwrapper a scripts batch de Windows, que pueden ser ejecutado en Microsoft Windows Command Prompt. Esto es a su vez una distribución separada de una re-implementación. Puedes descargar virtualenvwrapper-win desde PyPI.
MSYS¶
Es posible usar virtualenvwrapper en MSYS con una instalación nativa de Python para Windows. Para que funcione, debés definir una variable de entorno extra llamada MSYS_HOME que contenga la ruta hacia la instalación de MSYS
export WORKON_HOME=$HOME/.virtualenvs
export MSYS_HOME=/c/msys/1.0
source /usr/local/bin/virtualenvwrapper.sh
or:
export WORKON_HOME=$HOME/.virtualenvs
export MSYS_HOME=C:\msys\1.0
source /usr/local/bin/virtualenvwrapper.sh
Dependiendo de tu configuración de MSYS, quizás necesites instalar el binario MSYS mktemp en la carpeta MSYS_HOME/bin.
PowerShell¶
Guillermo López-Anglada ha portado virtualenvwrapper para que corra en Microsoft PowerShell. Hemos aceptado que debido a que no es compatible con el resto de las extensiones, y que es en su mayoría una re-implementación (en vez de una adaptación), que debería ser distribuído separadamente. Puedes descargar virtualenvwrapper-powershell desde PyPI.
Versiones de Python¶
virtualenvwrapper está testeado bajo Python 2.6-3.3.
Instalación básica¶
virtualenvwrapper debe ser instalado en el mismo site-packages global dónde virtualenv está instalado. Quizás necesites privilegios de administrador para hacer eso. La forma más fácil de instalarlo es usando pip:
$ pip install virtualenvwrapper
or:
$ sudo pip install virtualenvwrapper
Advertencia
virtualenv te permite crear muchos entornos de Python diferentes. Deberías instalar virtualenv y virtualenvwrapper sólo en la instalación básica de Python de tu sistema (NO mientras un virtualenv esté activo) de modo que la misma versión sea compartida por todos los entornos de Python.
Una alternativa para instalarlo dentro del site-packages global es agregarlo al directorio local de tu usuario (normalmente ~/.local)
$ pip install --install-option="--user" virtualenvwrapper
Archivo de inicio del shell¶
Agrega estas tres líneas a tu archivo de inicio del shell (.bashrc, .profile, etc.) para configurar la ubicación dónde se van a guardar los entornos virtuales, el directorio dónde se van a guardar los proyectos y los scripts instalados con este paquete:
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Devel
source /usr/local/bin/virtualenvwrapper.sh
Después de editar este, recarga el archivo de inicio (por ejemplo, ejecuta: source ~/.bashrc).
Carga por demanda¶
Un script de inicialización alternativa es provisto para cargar virtualenvwrapper por demanda. En vez de incluir virtualenvwrapper.sh directamente, usa virtualenvwrapper_lazy.sh. Si virtualenvwrapper.sh no está en tu $PATH, configura VIRTUALENVWRAPPER_SCRIPT para que apunte a él.
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Devel
export VIRTUALENVWRAPPER_SCRIPT=/usr/local/bin/virtualenvwrapper.sh
source /usr/local/bin/virtualenvwrapper_lazy.sh
Advertencia
Cuando la versión de carga por demandan es usada, tab-completion de los argumentos y comandos de virtualenvwrapper (como nombres de entornos) no es habilitada hasta después de que el primer comando sea ejecutado. Por ejemplo, tab-completion de entornos no funciona para la primera instancia de workon.
Inicio rápido¶
- Ejecuta: workon
- Una lista de entornos, vacía, es impresa.
- Ejecuta: mkvirtualenv temp
- Un nuevo entorno, temp es creado y activado.
- Ejecuta: workon
- Esta vez, el entorno temp es incluido.
Configuraciones¶
virtualenvwrapper puede ser customizado cambiando variables de entorno. Configura las variable en el archivo de inicio antes de cargar virtualenvwrapper.sh.
Ubicación de los entornos¶
La variable WORKON_HOME le dice a virtualenvwrapper dónde alojar tus entornos virtuales. Por omisión es $HOME/.virtualenvs. Si el directorio no existe cuando virtualenvwrapper es cargado, éste será creado automáticamente.
Ubicación del los directorios de proyecto¶
La variable PROJECT_HOME le dice a virtualenvwrapper dónde se van a alojar los directorios de proyecto. La variable debe estar seteada y el directorio creado antes de que mkproject sea usado.
Ver también
Project Linkage Filename¶
The variable VIRTUALENVWRAPPER_PROJECT_FILENAME tells virtualenvwrapper how to name the file linking a virtualenv to a project working directory. The default is .project.
Ver también
Ubicación de los scripts de gancho¶
La variable VIRTUALENVWRAPPER_HOOK_DIR le dice a virtualenvwrapper dónde van a ser guardados los user-defined hooks. El lugar por omisión es $WORKON_HOME.
Ver también
Ubicación de los logs de los ganchos¶
La variable VIRTUALENVWRAPPER_LOG_FILE le indica a virtualenvwrapper dónde deben ser escritos los logs para los scripts de gancho. El lugar por omisión es no logear desde los ganchos.
Intérprete de Python, virtualenv y $PATH¶
Durante el inicio, virtualenvwrapper.sh busca el primer python y virtualenv en la variable $PATH y recuerda éste para su posterior uso. Esto elimina cualquier conflicto con los cambios en $PATH, permitiendo intérpretes dentro de entornos en los cuales virtualenvwrapper no está instalado. Debido a este comportamiento, es importante configurar la variable $PATH antes de hacer la inclusión de virtualenvwrapper.sh (mediante source). Por ejemplo:
export PATH=/usr/local/bin:$PATH
source /usr/local/bin/virtualenvwrapper.sh
Para reemplazar la búsqueda en $PATH, se puede configurar la variable VIRTUALENVWRAPPER_PYTHON hacia la ruta absoluta del intérprete a usar y VIRTUALENVWRAPPER_VIRTUALENV hacia la ruta absoluta del binario de virtualenv a usar. Ambos deben ser seteadas antes de incluir virtualenvwrapper.sh). Por ejemplo:
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh
Argumentos por omision para virtualenv¶
Si la aplicación identificada por VIRTUALENVWRAPPER_VIRTUALENV necesita argumentos, ellos pueden ser configurados en VIRTUALENVWRAPPER_VIRTUALENV_ARGS. La misma variable puede ser usada para configurar los argumentos que van a ser pasados a virtualenv. Por ejemplo, configurar su valor a --no-site-packages para asegurarse que los nuevos entornos estarán aislados del directorio site-packages del sistema.
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'
Archivos temporales¶
virtualenvwrapper crea archivos temporales en $TMPDIR. Si la variable no está configurada, este usa /tmp. Para cambiar la ubicación de los archivos temporales sólo para virtualenvwrapper, configura VIRTUALENVWRAPPER_TMPDIR.
Configuración global¶
La mayoría de los sistemas UNIX tienen la habilidad de cambiar las configuraciones para todos los usuarios. Ésto típicamente toma una de dos formas: editar los archivos skeleton para nuevas cuentas o editar el archivo globar de startup para el shell.
Editar los archivos skeleton para nuevas cuentas significa que cada nuevo usuario tendrá sus archivos de inicio preconfigurados para cargar virtualenvwrapper. Ellos pueden deshabilitarlo comentando or quitando esas líneas. Vaya a la documentación del shell y el sistema operativo para identificar cuáles son los archivos apropiados para editar.
Modificar los archivos globales de startup para un shell dado significa que todos los usuarios de ese shell tendrán virtualenvwrapper habilitado y no lo podrán deshabilitar. Vaya a la documentación del shell para identificar cuáles son los archivos apropiados para editar.
Actualizar a 2.9¶
La versión 2.9 incluye las características anteriormente distribuídas de forma separada por virtualenvwrapper.project. Si tienes una versión vieja de la extensión project instalada, elimínalas antes de actualizar.
Actualizar desde 1.x¶
El script de shell que contiene las funciones ha sido renombrado en la serie 2.x para reflejar el hecho de que otros shells, además de bash, son soportados. En tu archivo de inicio del shell, cambia source /usr/local/bin/virtualenvwrapper_bashrc por source /usr/local/bin/virtualenvwrapper.sh.