Commits

Doug Hellmann committed fcfc75c

pare down this repository to just hold spanish documentation

Comments (0)

Files changed (104)

ChangeLog

-2011-04-13  Doug Hellmann  <dhellmann@racemi.com>
-
-	* virtualenvwrapper.sh (rmvirtualenv): Move to a safe directory
-	before removing the virtual environment, and only move back if the
-	previously occupied directory still exists.
-
-2011-04-10  Doug Hellmann  <dhellmann@racemi.com>
-
-	* virtualenvwrapper.sh: Initialize VIRTUALENVWRAPPER_LOG_DIR and
-	VIRTUALENVWRAPPER_HOOK_DIR.
-
-	* virtualenvwrapper/hook_loader.py (main): Use
-	VIRTUALENVWRAPPER_LOG_DIR for logs instead of assuming
-	WORKON_HOME.
-
-	* virtualenvwrapper/user_scripts.py (make_hook): Change verbosity
-	of message telling the user we have created a new hook script for
-	them.
-
-2011-02-26  Doug Hellmann  <dhellmann@racemi.com>
-
-	* docs/sphinx/conf.py: Just hard-code the version.
-
-	* setup.py: Just hard-code the version.
-
-	* virtualenvwrapper/version.py: Put the version info inside the
-	package so it is available to the doc build and packaging
-	script. This also makes the readthedocs.org build work properly.
-
-	* setup.py: Import the version information from the package.
-
-	* docs/sphinx/conf.py: Import the version information from the
-	package.
-
-	* Makefile: Remove rule to get the version from the installer for
-	the doc build.
-
-2011-01-24  Doug Hellmann  <dhellmann@racemi.com>
-
-	* virtualenvwrapper.sh: Replace hard-coded name "virtualenv" with
-	the variable VIRTUALENVWRAPPER_VIRTUALENV to allow tests (and
-	users) to override it.
-
-	* tests/test_mkvirtualenv.sh (test_virtualenv_fails): Add a test
-	to reproduce the conditions reported in issue #76.
-
-2010-12-27  Doug Hellmann  <dhellmann@racemi.com>
-
-	* virtualenvwrapper.sh (virtualenvwrapper_get_python_version):
-	Only include the major and minor numbers, not the patch level.
-
-2010-12-26  Doug Hellmann  <dhellmann@racemi.com>
-
-	* virtualenvwrapper/user_scripts.py (make_hook): Do not specify
-	text mode when creating the files so cygwin will not replace \n
-	with \r\n.
-
-	* setup.py: Change "requires" to "install_requires" so pip will
-	try to install virtualenv if it is not already there.  Add trove
-	classifiers for the supported Python versions.
-
-	* virtualenvwrapper.sh (virtualenvwrapper_get_python_version): Use
-	python's -V option and cut to get the version instead of a python
-	one-liner.
-
-2010-12-24  Doug Hellmann  <dhellmann@racemi.com>
-
-	* virtualenvwrapper.sh (cpvirtualenv): Ensure that both pre hooks
-	are run, even if one produces an error.
-
-	* virtualenvwrapper/user_scripts.py: Change log message format.
-
-	* tox.ini: Configuration file for running tests under tox.
-
-	* tests/test_run_hook.sh (test_virtualenvwrapper_run_hook_permissions):
-	Fix the expected output message.
-
-	* tests/*: Make sure all of the test scripts have execute permission.
-
-	* tests/test.sh (test_virtualenvwrapper_verify_workon_home_missing_dir_quiet_init):
-	Use source instead of starting another shell, since zsh doesn't
-	play nicely with inheriting environment settings otherwise.
-	(test_python_interpreter_set_incorrectly): Force
-	VIRTUALENVWRAPPER_PYTHON before running the script in a sub-shell.
-
-	* tests/run_tests: Script to run through all of the other test
-	scripts one at a time.
-
-2010-09-18  Doug Hellmann  <dhellmann@racemi.com>
-
-	* virtualenvwrapper.sh: Apply patch from Zach Voase to fix
-	lsvirtualenv under zsh.
-
-2010-09-14  Doug Hellmann  <dhellmann@racemi.com>
-
-	* virtualenvwrapper.sh (workon): Use the brief list format by
-	default.
-
-2010-08-16  Doug Hellmann  <dhellmann@racemi.com>
-
-	* virtualenvwrapper/user_scripts.py (get_env_details): New hook to
-	optionally give more detail than the name of an environment when
-	the user requests a list.
-
-	* virtualenvwrapper.sh: Update workon to use the get_env_details
-	hook to print more details, if the user provides scripts to give
-	them.
-
-2010-06-03  Doug Hellmann  <dhellmann@racemi.com>
-
-	* virtualenvwrapper.sh: Escape the call to "which" so we don't use
-	an alias by accident.
-
-2010-05-22  Doug Hellmann  <dhellmann@racemi.com>
-
-	* tests/test_cp.sh: Clarify some of the tests by breaking up,
-	renaming, and rewriting some functions.
-
-	* Makefile (PYTHON26): If we're in a virtualenv when the tests
-	start, use a hard-coded path to the binary to get the global
-	version.
-
-2010-05-18  Doug Hellmann  <dhellmann@racemi.com>
-
-	* virtualenvwrapper.sh (virtualenvwrapper_tempfile): Use a trap to
-	ensure the temporary file is removed when we exit.
-
-2010-05-16  Doug Hellmann  <dhellmann@racemi.com>
-
-	* virtualenvwrapper.sh (virtualenvwrapper_tempfile): Set a default
-	suffix of "hook" and explicitly report when we detect an error
-	condition.
-
-	* Makefile (PYTHON26): Use which to find python2.6, the default
-	interpreter, so we can run the tests as "make test-quick" on other
-	hosts.
-
-	* tests/test_tempfile.sh (test_tempfile): Normalize the paths so
-	we don't depend on the value of TMPDIR or behavior of dirname.
-
-	* tests/test_cd.sh: Make sure the virtualenv from the caller does
-	not influence test behaviors by establishing our own virtualenv
-	locally.
-
-	* virtualenvwrapper/hook_loader.py (main): Add more debug logging
-	to try to narrow down the tempfile issue (#35).
-	(run_hooks): Insert a comment into the output file to show which
-	hook we are running.
-
-	* virtualenvwrapper.sh (virtualenvwrapper_run_hook): Add more
-	debugging error reporting to try to narrow down the tempfile
-	issue (#35).
-
-2010-05-09  Doug Hellmann  <dhellmann@racemi.com>
-
-	* virtualenvwrapper.sh: Tweak path normalization code so double
-	slashes are also removed from WORKON_HOME. Use typeset for local
-	variables.
-	(virtualenvwrapper_tempfile): Add -t option to mktemp so the new
-	files are always created in the user's temporary directory.
-	(virtualenvwrapper_run_hook): Add the hook name to the temporary
-	file name.
-
-	* tests/test_tempfile.sh: Remove obsolete test.  Fix assertions
-	for remaining test.
-
-	* tests/test_mkvirtualenv.sh (test_hooks): Use pwd to convert
-	WORKON_HOME to the expected value.
-
-	* tests/test.sh (test_python_interpreter_set_incorrectly): Rework
-	grep-based assertion to actually pass.
-
-	* Makefile (test-bash test-ksh test-sh): Remove wildcard build
-	rule so test-quick target works.
-
-2010-05-02  Doug Hellmann  <dhellmann@racemi.com>
-
-	* virtualenvwrapper.sh (virtualenvwrapper_run_hook): Instead of
-	-m, use -c so hooks can be run under Python 2.4.
-
-2010-04-29  Doug Hellmann  <dhellmann@racemi.com>
-
-	* tests/test_workon.sh: Refactor deactivate tests into their own
-	script.
-
-	* tests/test_deactivate.sh: Refactor deactivate tests into their
-	own script.
-
-	* virtualenvwrapper.sh (virtualenvwrapper_get_python_version): Add
-	a comment about why we're using the $PATH python instead of the
-	one where the wrappers are installed.
-	(add2virtualenv): Use the install-tree python instead of the one
-	from $PATH.
-	(deactivate): Ignore errors from redundant unset calls.
-
-2010-04-26  Doug Hellmann  <dhellmann@racemi.com>
-
-	* virtualenvwrapper.sh (virtualenvwrapper_tempfile): Add a suffix
-	to the tempfile name so we know the tempfile module isn't going to
-	erase it.

MANIFEST.in

-include setup.py
-include distribute_setup.py
-include tests/*
-include tests/testpackage/setup.py
-include tests/testpackage/testscript.py
-include tests/testtemplate/distribute_setup.py
-include tests/testtemplate/setup.py
-include tests/testtemplate/mytemplates/*.py
-recursive-include docs *.rst *.py *.html *.css *.js *.png *.txt
-include tox.ini
-

Makefile

-# Default target is to show help
-help:
-	@echo "sdist          - Source distribution"
-	@echo "html           - HTML documentation"
-	@echo "docclean       - Remove documentation build files"
-	@echo "upload         - upload a new release to PyPI"
-	@echo "develop        - install development version"
-	@echo "test           - run the test suite"
-	@echo "test-quick     - run the test suite for bash and one version of Python ($(PYTHON26))"
-	@echo "website        - generate web version of the docs"
-	@echo "installwebsite - copy web version of HTML docs up to server"
-
-.PHONY: sdist
-sdist: html
-	rm -f dist/*.gz
-	rm -rf docs/website
-	python setup.py sdist
-	cp -v dist/*.gz ~/Desktop
-
-# Documentation
-.PHONY: html
-html:
-	(cd docs && $(MAKE) html LANGUAGE="en")
-	(cd docs && $(MAKE) html LANGUAGE="es")
-	(cd docs && $(MAKE) html LANGUAGE="ja")
-
-.PHONY: docclean
-docclean:
-	rm -rf docs/build docs/html
-
-# Website copy of documentation
-.PHONY: website
-website: 
-	[ ~/Devel/doughellmann/doughellmann/templates/base.html -nt docs/sphinx/web/templates/base.html ] && (echo "Updating base.html" ; cp ~/Devel/doughellmann/doughellmann/templates/base.html docs/sphinx/web/templates/base.html) || exit 0
-	rm -rf docs/website
-	(cd docs && $(MAKE) html BUILDDIR="website/en" LANGUAGE="en")
-	(cd docs && $(MAKE) html BUILDDIR="website/es" LANGUAGE="es")
-	(cd docs && $(MAKE) html BUILDDIR="website/ja" LANGUAGE="ja")
-
-installwebsite: website
-	(cd docs/website/en && rsync --rsh=ssh --archive --delete --verbose . www.doughellmann.com:/var/www/doughellmann/DocumentRoot/docs/virtualenvwrapper/)
-	(cd docs/website/es && rsync --rsh=ssh --archive --delete --verbose . www.doughellmann.com:/var/www/doughellmann/DocumentRoot/docs/virtualenvwrapper/es/)
-	(cd docs/website/ja && rsync --rsh=ssh --archive --delete --verbose . www.doughellmann.com:/var/www/doughellmann/DocumentRoot/docs/virtualenvwrapper/ja/)
-
-# Register the new version on pypi
-.PHONY: register
-register:
-	echo "USE upload target"
-	exit 1
-	python setup.py register
-
-.PHONY: upload
-upload:
-	python setup.py sdist upload
-
-# Testing
-test:
-	tox
-
-test-quick:
-	tox -e py27
-
-develop:
-	python setup.py develop

README.es.txt

-..   -*- mode: rst -*-
-
-#################
-virtualenvwrapper
-#################
-
-virtualenvwrapper es un conjunto de extensiones de la herramienta de Ian
-Bicking `virtualenv <http://pypi.python.org/pypi/virtualenv>`_. Las extensiones
-incluyen funciones para la creación y eliminación de entornos virtuales y por otro
-lado administración de tu rutina de desarrollo, haciendo fácil trabajar en más
-de un proyecto al mismo tiempo sin introducir conflictos entre sus dependencias.
-
-===============
-Características
-===============
-
-1. Organiza todos tus entornos virtuales en un sólo lugar.
-
-2. Funciones para administrar tus entornos virtuales (crear, eliminar, copiar).
-
-3. Usa un sólo comando para cambiar entre los entornos.
-
-4. Completa con Tab los comandos que toman un entorno virtual como argumento.
-
-5. Ganchos configurables para todas las operaciones.
-
-6. Sistema de plugins para la creación de extensiones compartibles.
-
-Rich Leland ha grabado un pequeño `screencast
-<http://mathematism.com/2009/jul/30/presentation-pip-and-virtualenv/>`__
-mostrando las características de virtualenvwrapper.
-
-
-===========
-Instalación
-===========
-
-Ve a la `documentación del proyecto <http://www.doughellmann.com/docs/virtualenvwrapper/>`__
-para las instrucciones de instalación y configuración.
-
-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``.
-
-==============
-Contribuciones
-==============
-
-Antes de contribuir con nuevas características al *core* de virtualenvwrapper,
-por favor considera, en vez, si no debe ser implementada como una extensión.
-
-Ve a la `documentación para desarrolladores 
-<http://www.doughellmann.com/docs/virtualenvwrapper/developers.html>`__
-por trucos sobre parches.
-
-========
-Licencia
-========
-
-Copyright Doug Hellmann, All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation, and that the name of Doug Hellmann not be used
-in advertising or publicity pertaining to distribution of the software
-without specific, written prior permission.
-
-DOUG HELLMANN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
-EVENT SHALL DOUG HELLMANN BE LIABLE FOR ANY SPECIAL, INDIRECT OR
-CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
-USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
-OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-PERFORMANCE OF THIS SOFTWARE.
-
-.. _BitBucket: http://bitbucket.org/dhellmann/virtualenvwrapper/overview/

README.ja.txt

-..   -*- mode: rst -*-
-
-#################
-virtualenvwrapper
-#################
-
-virtualenvwrapper は Ian Bicking の 
-`virtualenv <http://pypi.python.org/pypi/virtualenv>`_ ツールの
-拡張機能です。この拡張機能は仮想環境の作成・削除を行ったり、
-開発ワークフローを管理するラッパーを提供します。このラッパーを
-使用することで、開発環境の依存による競合を発生させず、1つ以上の
-プロジェクトで同時に作業し易くなります。
-
-====
-機能
-====
-
-1. 1つの開発環境で全ての仮想環境を構成する
-
-2. 仮想環境を管理(作成、削除、コピー)するラッパー
-
-3. たった1つのコマンドで仮想環境を切り替える
-
-4. コマンドの引数として仮想環境がタブ補完できる
-
-5. 全ての操作に対してユーザ設定でフックできる(:ref:`scripts` を参照)
-
-6. さらに共有可能な拡張機能を作成できるプラグインシステム(:ref:`plugins` を参照)
-
-Rich Leland は virtualenvwrapper の機能を誇示するために短い
-`スクリーンキャスト <http://mathematism.com/2009/jul/30/presentation-pip-and-virtualenv/>`__
-を作成しました。
-
-============
-インストール
-============
-
-インストールとインフラを設定するには
-`プロジェクトのドキュメント <http://www.doughellmann.com/docs/virtualenvwrapper/ja/>`__ 
-を参照してください。
-
-サポートシェル
-==============
-
-virtualenvwrapper は Bourne シェル互換の構文で定義された
-シェル *関数* のセットです。それは `bash`, `ksh` と `zsh` で
-テストされています。その他のシェルでも動作するかもしれませんが、
-ここに記載されていないシェルで動作することを発見したら私に
-教えてください。もしあなたがその他のシェルで動作させるために
-virtualenvwrapper を完全に書き直すことなく修正できるなら、
-bitbucket のプロジェクトページを通じて pull リクエストを
-送ってください。あなたが非互換なシェル上で動作させるクローンを
-作成するなら、このページでリンクを張るので私に連絡してください。
-
-Python バージョン
-=================
-
-virtualenvwrapper は Python 2.4 - 2.7 でテストされています。
-
-1.x からのアップグレード
-========================
-
-ラッパー関数を含むシェルスクリプトは 2.x バージョンで bash 
-以外のシェルをサポートするためにその名前が変更されました。
-あなたの起動ファイルの ``source /usr/local/bin/virtualenvwrapper_bashrc`` を
-``source /usr/local/bin/virtualenvwrapper.sh`` へ変更してください。
-
-====
-貢献
-====
-
-virtualenvwrapper のコアへ新しい機能を追加する前に、
-その代わりに機能拡張として実装すべきかどうかをよく考えてください。
-
-パッチを提供するための tips は
-`開発者ドキュメント <http://www.doughellmann.com/docs/virtualenvwrapper/developers.html>`__
-を参照してください。
-
-========
-サポート
-========
-
-問題や機能を議論するには
-`virtualenvwrapper Google Group <http://groups.google.com/group/virtualenvwrapper/>`__
-に参加してください。
-
-`BitBucket のバグトラッカー <http://bitbucket.org/dhellmann/virtualenvwrapper/>`__
-でバグを報告してください。
-
-シェルエイリアス
-================
-
-virtualenvwrapper は大きなシェルスクリプトなので、
-多くのアクションはシェルコマンドを使用します。
-あなたの環境が多くのシェルエイリアスやその他の
-カスタマイズを行っているなら、何かしら問題に
-遭遇する可能性があります。バグトラッカーにバグを
-報告する前に、そういったエイリアスを無効な *状態* で
-テストしてください。あなたがその問題を引き起こす
-エイリアスを判別できるなら virtualenvwrapper を
-もっと堅牢なものにすることに役立つでしょう。
-
-==========
-ライセンス
-==========
-
-Copyright Doug Hellmann, All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation, and that the name of Doug Hellmann not be used
-in advertising or publicity pertaining to distribution of the software
-without specific, written prior permission.
-
-DOUG HELLMANN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
-EVENT SHALL DOUG HELLMANN BE LIABLE FOR ANY SPECIAL, INDIRECT OR
-CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
-USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
-OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-PERFORMANCE OF THIS SOFTWARE.
 virtualenvwrapper
 #################
 
-virtualenvwrapper is a set of extensions to Ian Bicking's `virtualenv
-<http://pypi.python.org/pypi/virtualenv>`_ tool.  The extensions include
-wrappers for creating and deleting virtual environments and otherwise
-managing your development workflow, making it easier to work on more
-than one project at a time without introducing conflicts in their
-dependencies.
+virtualenvwrapper es un conjunto de extensiones de la herramienta de Ian
+Bicking `virtualenv <http://pypi.python.org/pypi/virtualenv>`_. Las extensiones
+incluyen funciones para la creación y eliminación de entornos virtuales y por otro
+lado administración de tu rutina de desarrollo, haciendo fácil trabajar en más
+de un proyecto al mismo tiempo sin introducir conflictos entre sus dependencias.
+
+===============
+Características
+===============
+
+1. Organiza todos tus entornos virtuales en un sólo lugar.
+
+2. Funciones para administrar tus entornos virtuales (crear, eliminar, copiar).
+
+3. Usa un sólo comando para cambiar entre los entornos.
+
+4. Completa con Tab los comandos que toman un entorno virtual como argumento.
+
+5. Ganchos configurables para todas las operaciones.
+
+6. Sistema de plugins para la creación de extensiones compartibles.
+
+Rich Leland ha grabado un pequeño `screencast
+<http://mathematism.com/2009/jul/30/presentation-pip-and-virtualenv/>`__
+mostrando las características de virtualenvwrapper.
+
+
+===========
+Instalación
+===========
+
+Ve a la `documentación del proyecto <http://www.doughellmann.com/docs/virtualenvwrapper/>`__
+para las instrucciones de instalación y configuración.
+
+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``.
+
+==============
+Contribuciones
+==============
+
+Antes de contribuir con nuevas características al *core* de virtualenvwrapper,
+por favor considera, en vez, si no debe ser implementada como una extensión.
+
+Ve a la `documentación para desarrolladores 
+<http://www.doughellmann.com/docs/virtualenvwrapper/developers.html>`__
+por trucos sobre parches.
 
 ========
-Features
+Licencia
 ========
 
-1.  Organizes all of your virtual environments in one place.
-
-2.  Wrappers for creating, copying and deleting environments, including
-    user-configurable hooks.
-
-3.  Use a single command to switch between environments.
-
-4.  Tab completion for commands that take a virtual environment as
-    argument.
-
-5. User-configurable hooks for all operations.
-
-6. Plugin system for more creating sharable extensions.
-
-Rich Leland has created a short `screencast
-<http://mathematism.com/2009/jul/30/presentation-pip-and-virtualenv/>`__
-showing off the features of virtualenvwrapper.
-
-============
-Installation
-============
-
-See the `project documentation
-<http://www.doughellmann.com/docs/virtualenvwrapper/>`__ for
-installation and setup instructions.
-
-Supported Shells
-================
-
-virtualenvwrapper is a set of shell *functions* defined in Bourne
-shell compatible syntax.  It is tested under `bash`, `ksh`, and `zsh`.
-It may work with other shells, so if you find that it does work with a
-shell not listed here please let me know.  If you can modify it to
-work with another shell, without completely rewriting it, send a pull
-request through the bitbucket project page.  If you write a clone to
-work with an incompatible shell, let me know and I will link to it
-from this page.
-
-Python Versions
-===============
-
-virtualenvwrapper is tested under Python 2.6, 2.7 and 3.2.
-
-=======
-Support
-=======
-
-Join the `virtualenvwrapper Google Group
-<http://groups.google.com/group/virtualenvwrapper/>`__ to discuss
-issues and features.  
-
-Report bugs via the `bug tracker on BitBucket
-<http://bitbucket.org/dhellmann/virtualenvwrapper/>`__.
-
-Shell Aliases
-=============
-
-Since virtualenvwrapper is largely a shell script, it uses shell
-commands for a lot of its actions.  If your environment makes heavy
-use of shell aliases or other customizations, you may encounter
-issues.  Before reporting bugs in the bug tracker, please test
-*without* your aliases enabled.  If you can identify the alias causing
-the problem, that will help make virtualenvwrapper more robust.
-
-==========
-Change Log
-==========
-
-The `release history`_ is part of the project documentation.
-
-.. _release history: http://www.doughellmann.com/docs/virtualenvwrapper/history.html
-
-=======
-License
-=======
-
 Copyright Doug Hellmann, All Rights Reserved
 
 Permission to use, copy, modify, and distribute this software and its
 USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
 OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 PERFORMANCE OF THIS SOFTWARE.
+
+.. _BitBucket: http://bitbucket.org/dhellmann/virtualenvwrapper/overview/

announce.es.rst

-¿Qué es virtualenvwrapper?
-==========================
-
-virtualenvwrapper es un conjunto de extensiones de la herramienta de Ian
-Bicking `virtualenv <http://pypi.python.org/pypi/virtualenv>`_. Las extensiones
-incluyen funciones para la creación y eliminación de entornos virtuales y por otro
-lado administración de tu rutina de desarrollo, haciendo fácil trabajar en más
-de un proyecto al mismo tiempo sin introducir conflictos entre sus dependencias.
-
-
-¿Qué es lo nuevo en 2.1?
-========================
-
-El principal propósito de esta *release* es un conjunto de mejoras para soportar
-virtualenvwrapper.project_, una nueva extensión para administrar los directorios
-de trabajo para los proyectos con plantillas. 2.1 también incluye pequeños
-cambios y corrección de bugs.
-
-- Agregado soporte para ksh. Gracias a Doug Latornell por hacer la investigación
-  sobre qué era necesario cambiar.
-- Testeo de importación de virtualenvwrapper.hook_loader en el inicio que reporta
-  el error de manera que debería ayudar al usuario a resolver cómo solucionarlo
-  (ticket #33).
-- Actualizada la documentación de mkvirtualenv para incluir el hecho de que un
-  nuevo entorno es activado inmediatamente luego de que es creado (ticket #30).
-- Agregados ganchos alrededor cpvirtualenv.
-- *deactivation* es más robusto, especialmente bajo ksh.
-- Uso del módulo de Python ``tempfile`` para creación de archivos temporales
-  de forma segura y portable.
-- Corregido un problema con ``virtualenvwrapper_show_workon_options`` que
-  causaba que este muestre ``*`` como el nombre de un virtualenv cuando no había
-  entornos creados todavía.
-- Cambio en el cargador de ganchos para que pueda ejecutar sólo un conjunto de
-  ganchos nombrados.
-- Agregado soporte para listar los ganchos disponibles, para ser usado en la
-  ayuda de los comandos como mkproject en virtualenvwrapper.project.
-- Corregida la opción -h de mkvirtualenv.
-- Cambiado el registro para que $WORKON_HOME/hook.log rote después de 10KiB.
-
-
-.. _virtualenv: http://pypi.python.org/pypi/virtualenv
-
-.. _virtualenvwrapper: http://www.doughellmann.com/projects/virtualenvwrapper/
-
-.. _virtualenvwrapper.project: http://www.doughellmann.com/projects/virtualenvwrapper.project/

announce.rst

-=======================
- virtualenvwrapper 3.5
-=======================
-
-.. tags:: virtualenvwrapper release python
-
-What is virtualenvwrapper?
-==========================
-
-virtualenvwrapper_ is a set of extensions to Ian Bicking's virtualenv_
-tool.  The extensions include wrappers for creating and deleting
-virtual environments and otherwise managing your development workflow,
-making it easier to work on more than one project at a time without
-introducing conflicts in their dependencies.
-
-What's New?
-===========
-
-- Rewrite ``cpvirtualenv`` to use `virtualenv-clone`_
-  instead of making the new environment relocatable. Contributed by
-  Justin Barber (barberj). This also resolves a problem
-  with cpvirtualenv not honoring the ``--no-site-packages`` flag
-  (issue 102).
-- Update docs with link to `virtualenvwrapper-win`_ port by David
-  Marble.
-- Use ``command`` to avoid functions named the same as common
-  utilities. (issue 119)
-
-.. _virtualenv-clone: http://pypi.python.org/pypi/virtualenv-clone
-.. _virtualenvwrapper-win: http://pypi.python.org/pypi/virtualenvwrapper-win 
-
-Installing
-==========
-
-Visit the virtualenvwrapper_ project page for download links and
-installation instructions.
-
-.. _virtualenv: http://pypi.python.org/pypi/virtualenv
-
-.. _virtualenvwrapper: http://www.doughellmann.com/projects/virtualenvwrapper/

distribute_setup.py

-#!python
-"""Bootstrap distribute installation
-
-If you want to use setuptools in your package's setup.py, just include this
-file in the same directory with it, and add this to the top of your setup.py::
-
-    from distribute_setup import use_setuptools
-    use_setuptools()
-
-If you want to require a specific version of setuptools, set a download
-mirror, or use an alternate download directory, you can do so by supplying
-the appropriate options to ``use_setuptools()``.
-
-This file can also be run as a script to install or upgrade setuptools.
-"""
-import os
-import sys
-import time
-import fnmatch
-import tempfile
-import tarfile
-from distutils import log
-
-try:
-    from site import USER_SITE
-except ImportError:
-    USER_SITE = None
-
-try:
-    import subprocess
-
-    def _python_cmd(*args):
-        args = (sys.executable,) + args
-        return subprocess.call(args) == 0
-
-except ImportError:
-    # will be used for python 2.3
-    def _python_cmd(*args):
-        args = (sys.executable,) + args
-        # quoting arguments if windows
-        if sys.platform == 'win32':
-            def quote(arg):
-                if ' ' in arg:
-                    return '"%s"' % arg
-                return arg
-            args = [quote(arg) for arg in args]
-        return os.spawnl(os.P_WAIT, sys.executable, *args) == 0
-
-DEFAULT_VERSION = "0.6.10"
-DEFAULT_URL = "http://pypi.python.org/packages/source/d/distribute/"
-SETUPTOOLS_FAKED_VERSION = "0.6c11"
-
-SETUPTOOLS_PKG_INFO = """\
-Metadata-Version: 1.0
-Name: setuptools
-Version: %s
-Summary: xxxx
-Home-page: xxx
-Author: xxx
-Author-email: xxx
-License: xxx
-Description: xxx
-""" % SETUPTOOLS_FAKED_VERSION
-
-
-def _install(tarball):
-    # extracting the tarball
-    tmpdir = tempfile.mkdtemp()
-    log.warn('Extracting in %s', tmpdir)
-    old_wd = os.getcwd()
-    try:
-        os.chdir(tmpdir)
-        tar = tarfile.open(tarball)
-        _extractall(tar)
-        tar.close()
-
-        # going in the directory
-        subdir = os.path.join(tmpdir, os.listdir(tmpdir)[0])
-        os.chdir(subdir)
-        log.warn('Now working in %s', subdir)
-
-        # installing
-        log.warn('Installing Distribute')
-        if not _python_cmd('setup.py', 'install'):
-            log.warn('Something went wrong during the installation.')
-            log.warn('See the error message above.')
-    finally:
-        os.chdir(old_wd)
-
-
-def _build_egg(egg, tarball, to_dir):
-    # extracting the tarball
-    tmpdir = tempfile.mkdtemp()
-    log.warn('Extracting in %s', tmpdir)
-    old_wd = os.getcwd()
-    try:
-        os.chdir(tmpdir)
-        tar = tarfile.open(tarball)
-        _extractall(tar)
-        tar.close()
-
-        # going in the directory
-        subdir = os.path.join(tmpdir, os.listdir(tmpdir)[0])
-        os.chdir(subdir)
-        log.warn('Now working in %s', subdir)
-
-        # building an egg
-        log.warn('Building a Distribute egg in %s', to_dir)
-        _python_cmd('setup.py', '-q', 'bdist_egg', '--dist-dir', to_dir)
-
-    finally:
-        os.chdir(old_wd)
-    # returning the result
-    log.warn(egg)
-    if not os.path.exists(egg):
-        raise IOError('Could not build the egg.')
-
-
-def _do_download(version, download_base, to_dir, download_delay):
-    egg = os.path.join(to_dir, 'distribute-%s-py%d.%d.egg'
-                       % (version, sys.version_info[0], sys.version_info[1]))
-    if not os.path.exists(egg):
-        tarball = download_setuptools(version, download_base,
-                                      to_dir, download_delay)
-        _build_egg(egg, tarball, to_dir)
-    sys.path.insert(0, egg)
-    import setuptools
-    setuptools.bootstrap_install_from = egg
-
-
-def use_setuptools(version=DEFAULT_VERSION, download_base=DEFAULT_URL,
-                   to_dir=os.curdir, download_delay=15, no_fake=True):
-    # making sure we use the absolute path
-    to_dir = os.path.abspath(to_dir)
-    was_imported = 'pkg_resources' in sys.modules or \
-        'setuptools' in sys.modules
-    try:
-        try:
-            import pkg_resources
-            if not hasattr(pkg_resources, '_distribute'):
-                if not no_fake:
-                    _fake_setuptools()
-                raise ImportError
-        except ImportError:
-            return _do_download(version, download_base, to_dir, download_delay)
-        try:
-            pkg_resources.require("distribute>="+version)
-            return
-        except pkg_resources.VersionConflict:
-            e = sys.exc_info()[1]
-            if was_imported:
-                sys.stderr.write(
-                "The required version of distribute (>=%s) is not available,\n"
-                "and can't be installed while this script is running. Please\n"
-                "install a more recent version first, using\n"
-                "'easy_install -U distribute'."
-                "\n\n(Currently using %r)\n" % (version, e.args[0]))
-                sys.exit(2)
-            else:
-                del pkg_resources, sys.modules['pkg_resources']    # reload ok
-                return _do_download(version, download_base, to_dir,
-                                    download_delay)
-        except pkg_resources.DistributionNotFound:
-            return _do_download(version, download_base, to_dir,
-                                download_delay)
-    finally:
-        if not no_fake:
-            _create_fake_setuptools_pkg_info(to_dir)
-
-def download_setuptools(version=DEFAULT_VERSION, download_base=DEFAULT_URL,
-                        to_dir=os.curdir, delay=15):
-    """Download distribute from a specified location and return its filename
-
-    `version` should be a valid distribute version number that is available
-    as an egg for download under the `download_base` URL (which should end
-    with a '/'). `to_dir` is the directory where the egg will be downloaded.
-    `delay` is the number of seconds to pause before an actual download
-    attempt.
-    """
-    # making sure we use the absolute path
-    to_dir = os.path.abspath(to_dir)
-    try:
-        from urllib.request import urlopen
-    except ImportError:
-        from urllib2 import urlopen
-    tgz_name = "distribute-%s.tar.gz" % version
-    url = download_base + tgz_name
-    saveto = os.path.join(to_dir, tgz_name)
-    src = dst = None
-    if not os.path.exists(saveto):  # Avoid repeated downloads
-        try:
-            log.warn("Downloading %s", url)
-            src = urlopen(url)
-            # Read/write all in one block, so we don't create a corrupt file
-            # if the download is interrupted.
-            data = src.read()
-            dst = open(saveto, "wb")
-            dst.write(data)
-        finally:
-            if src:
-                src.close()
-            if dst:
-                dst.close()
-    return os.path.realpath(saveto)
-
-
-def _patch_file(path, content):
-    """Will backup the file then patch it"""
-    existing_content = open(path).read()
-    if existing_content == content:
-        # already patched
-        log.warn('Already patched.')
-        return False
-    log.warn('Patching...')
-    _rename_path(path)
-    f = open(path, 'w')
-    try:
-        f.write(content)
-    finally:
-        f.close()
-    return True
-
-
-def _same_content(path, content):
-    return open(path).read() == content
-
-def _no_sandbox(function):
-    def __no_sandbox(*args, **kw):
-        try:
-            from setuptools.sandbox import DirectorySandbox
-            def violation(*args):
-                pass
-            DirectorySandbox._old = DirectorySandbox._violation
-            DirectorySandbox._violation = violation
-            patched = True
-        except ImportError:
-            patched = False
-
-        try:
-            return function(*args, **kw)
-        finally:
-            if patched:
-                DirectorySandbox._violation = DirectorySandbox._old
-                del DirectorySandbox._old
-
-    return __no_sandbox
-
-@_no_sandbox
-def _rename_path(path):
-    new_name = path + '.OLD.%s' % time.time()
-    log.warn('Renaming %s into %s', path, new_name)
-    os.rename(path, new_name)
-    return new_name
-
-def _remove_flat_installation(placeholder):
-    if not os.path.isdir(placeholder):
-        log.warn('Unkown installation at %s', placeholder)
-        return False
-    found = False
-    for file in os.listdir(placeholder):
-        if fnmatch.fnmatch(file, 'setuptools*.egg-info'):
-            found = True
-            break
-    if not found:
-        log.warn('Could not locate setuptools*.egg-info')
-        return
-
-    log.warn('Removing elements out of the way...')
-    pkg_info = os.path.join(placeholder, file)
-    if os.path.isdir(pkg_info):
-        patched = _patch_egg_dir(pkg_info)
-    else:
-        patched = _patch_file(pkg_info, SETUPTOOLS_PKG_INFO)
-
-    if not patched:
-        log.warn('%s already patched.', pkg_info)
-        return False
-    # now let's move the files out of the way
-    for element in ('setuptools', 'pkg_resources.py', 'site.py'):
-        element = os.path.join(placeholder, element)
-        if os.path.exists(element):
-            _rename_path(element)
-        else:
-            log.warn('Could not find the %s element of the '
-                     'Setuptools distribution', element)
-    return True
-
-
-def _after_install(dist):
-    log.warn('After install bootstrap.')
-    placeholder = dist.get_command_obj('install').install_purelib
-    _create_fake_setuptools_pkg_info(placeholder)
-
-@_no_sandbox
-def _create_fake_setuptools_pkg_info(placeholder):
-    if not placeholder or not os.path.exists(placeholder):
-        log.warn('Could not find the install location')
-        return
-    pyver = '%s.%s' % (sys.version_info[0], sys.version_info[1])
-    setuptools_file = 'setuptools-%s-py%s.egg-info' % \
-            (SETUPTOOLS_FAKED_VERSION, pyver)
-    pkg_info = os.path.join(placeholder, setuptools_file)
-    if os.path.exists(pkg_info):
-        log.warn('%s already exists', pkg_info)
-        return
-
-    log.warn('Creating %s', pkg_info)
-    f = open(pkg_info, 'w')
-    try:
-        f.write(SETUPTOOLS_PKG_INFO)
-    finally:
-        f.close()
-
-    pth_file = os.path.join(placeholder, 'setuptools.pth')
-    log.warn('Creating %s', pth_file)
-    f = open(pth_file, 'w')
-    try:
-        f.write(os.path.join(os.curdir, setuptools_file))
-    finally:
-        f.close()
-
-def _patch_egg_dir(path):
-    # let's check if it's already patched
-    pkg_info = os.path.join(path, 'EGG-INFO', 'PKG-INFO')
-    if os.path.exists(pkg_info):
-        if _same_content(pkg_info, SETUPTOOLS_PKG_INFO):
-            log.warn('%s already patched.', pkg_info)
-            return False
-    _rename_path(path)
-    os.mkdir(path)
-    os.mkdir(os.path.join(path, 'EGG-INFO'))
-    pkg_info = os.path.join(path, 'EGG-INFO', 'PKG-INFO')
-    f = open(pkg_info, 'w')
-    try:
-        f.write(SETUPTOOLS_PKG_INFO)
-    finally:
-        f.close()
-    return True
-
-
-def _before_install():
-    log.warn('Before install bootstrap.')
-    _fake_setuptools()
-
-
-def _under_prefix(location):
-    if 'install' not in sys.argv:
-        return True
-    args = sys.argv[sys.argv.index('install')+1:]
-    for index, arg in enumerate(args):
-        for option in ('--root', '--prefix'):
-            if arg.startswith('%s=' % option):
-                top_dir = arg.split('root=')[-1]
-                return location.startswith(top_dir)
-            elif arg == option:
-                if len(args) > index:
-                    top_dir = args[index+1]
-                    return location.startswith(top_dir)
-            elif option == '--user' and USER_SITE is not None:
-                return location.startswith(USER_SITE)
-    return True
-
-
-def _fake_setuptools():
-    log.warn('Scanning installed packages')
-    try:
-        import pkg_resources
-    except ImportError:
-        # we're cool
-        log.warn('Setuptools or Distribute does not seem to be installed.')
-        return
-    ws = pkg_resources.working_set
-    try:
-        setuptools_dist = ws.find(pkg_resources.Requirement.parse('setuptools',
-                                  replacement=False))
-    except TypeError:
-        # old distribute API
-        setuptools_dist = ws.find(pkg_resources.Requirement.parse('setuptools'))
-
-    if setuptools_dist is None:
-        log.warn('No setuptools distribution found')
-        return
-    # detecting if it was already faked
-    setuptools_location = setuptools_dist.location
-    log.warn('Setuptools installation detected at %s', setuptools_location)
-
-    # if --root or --preix was provided, and if
-    # setuptools is not located in them, we don't patch it
-    if not _under_prefix(setuptools_location):
-        log.warn('Not patching, --root or --prefix is installing Distribute'
-                 ' in another location')
-        return
-
-    # let's see if its an egg
-    if not setuptools_location.endswith('.egg'):
-        log.warn('Non-egg installation')
-        res = _remove_flat_installation(setuptools_location)
-        if not res:
-            return
-    else:
-        log.warn('Egg installation')
-        pkg_info = os.path.join(setuptools_location, 'EGG-INFO', 'PKG-INFO')
-        if (os.path.exists(pkg_info) and
-            _same_content(pkg_info, SETUPTOOLS_PKG_INFO)):
-            log.warn('Already patched.')
-            return
-        log.warn('Patching...')
-        # let's create a fake egg replacing setuptools one
-        res = _patch_egg_dir(setuptools_location)
-        if not res:
-            return
-    log.warn('Patched done.')
-    _relaunch()
-
-
-def _relaunch():
-    log.warn('Relaunching...')
-    # we have to relaunch the process
-    args = [sys.executable] + sys.argv
-    sys.exit(subprocess.call(args))
-
-
-def _extractall(self, path=".", members=None):
-    """Extract all members from the archive to the current working
-       directory and set owner, modification time and permissions on
-       directories afterwards. `path' specifies a different directory
-       to extract to. `members' is optional and must be a subset of the
-       list returned by getmembers().
-    """
-    import copy
-    import operator
-    from tarfile import ExtractError
-    directories = []
-
-    if members is None:
-        members = self
-
-    for tarinfo in members:
-        if tarinfo.isdir():
-            # Extract directories with a safe mode.
-            directories.append(tarinfo)
-            tarinfo = copy.copy(tarinfo)
-            tarinfo.mode = 448 # decimal for oct 0700
-        self.extract(tarinfo, path)
-
-    # Reverse sort directories.
-    if sys.version_info < (2, 4):
-        def sorter(dir1, dir2):
-            return cmp(dir1.name, dir2.name)
-        directories.sort(sorter)
-        directories.reverse()
-    else:
-        directories.sort(key=operator.attrgetter('name'), reverse=True)
-
-    # Set correct owner, mtime and filemode on directories.
-    for tarinfo in directories:
-        dirpath = os.path.join(path, tarinfo.name)
-        try:
-            self.chown(tarinfo, dirpath)
-            self.utime(tarinfo, dirpath)
-            self.chmod(tarinfo, dirpath)
-        except ExtractError:
-            e = sys.exc_info()[1]
-            if self.errorlevel > 1:
-                raise
-            else:
-                self._dbg(1, "tarfile: %s" % e)
-
-
-def main(argv, version=DEFAULT_VERSION):
-    """Install or upgrade setuptools and EasyInstall"""
-    tarball = download_setuptools()
-    _install(tarball)
-
-
-if __name__ == '__main__':
-    main(sys.argv[1:])
 # Makefile for Sphinx documentation
 #
 
-# If doc language is English you don't need to set this variable
-LANGUAGE      = en
-
 # You can set these variables from the command line.
-SPHINXOPTS    = -c sphinx
+SPHINXOPTS    =
 SPHINXBUILD   = sphinx-build
 PAPER         =
-BUILDDIR      = html/$(LANGUAGE)
+BUILDDIR      = build
 
 # Internal variables.
 PAPEROPT_a4     = -D latex_paper_size=a4
 PAPEROPT_letter = -D latex_paper_size=letter
-ALLSPHINXOPTS   = -d build/$(LANGUAGE)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) $(LANGUAGE)
+ALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
+# the i18n builder cannot share the environment and doctrees with the others
+I18NSPHINXOPTS  = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
 
-.PHONY: help clean html dirhtml pickle json htmlhelp qthelp latex changes linkcheck doctest
+.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
 
 help:
 	@echo "Please use \`make <target>' where <target> is one of"
-	@echo "  html      to make standalone HTML files"
-	@echo "  dirhtml   to make HTML files named index.html in directories"
-	@echo "  pickle    to make pickle files"
-	@echo "  json      to make JSON files"
-	@echo "  htmlhelp  to make HTML files and a HTML help project"
-	@echo "  qthelp    to make HTML files and a qthelp project"
-	@echo "  latex     to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
-	@echo "  changes   to make an overview of all changed/added/deprecated items"
-	@echo "  linkcheck to check all external links for integrity"
-	@echo "  doctest   to run all doctests embedded in the documentation (if enabled)"
+	@echo "  html       to make standalone HTML files"
+	@echo "  dirhtml    to make HTML files named index.html in directories"
+	@echo "  singlehtml to make a single large HTML file"
+	@echo "  pickle     to make pickle files"
+	@echo "  json       to make JSON files"
+	@echo "  htmlhelp   to make HTML files and a HTML help project"
+	@echo "  qthelp     to make HTML files and a qthelp project"
+	@echo "  devhelp    to make HTML files and a Devhelp project"
+	@echo "  epub       to make an epub"
+	@echo "  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
+	@echo "  latexpdf   to make LaTeX files and run them through pdflatex"
+	@echo "  text       to make text files"
+	@echo "  man        to make manual pages"
+	@echo "  texinfo    to make Texinfo files"
+	@echo "  info       to make Texinfo files and run them through makeinfo"
+	@echo "  gettext    to make PO message catalogs"
+	@echo "  changes    to make an overview of all changed/added/deprecated items"
+	@echo "  linkcheck  to check all external links for integrity"
+	@echo "  doctest    to run all doctests embedded in the documentation (if enabled)"
 
 clean:
 	-rm -rf $(BUILDDIR)/*
 
 html:
-	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)
+	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
 	@echo
-	@echo "Build finished. The HTML pages are in $(BUILDDIR)."
+	@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
 
-# dirhtml:
-# 	$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
-# 	@echo
-# 	@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
+dirhtml:
+	$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
+	@echo
+	@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
 
-# pickle:
-# 	$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
-# 	@echo
-# 	@echo "Build finished; now you can process the pickle files."
+singlehtml:
+	$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
+	@echo
+	@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
 
-# json:
-# 	$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
-# 	@echo
-# 	@echo "Build finished; now you can process the JSON files."
+pickle:
+	$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
+	@echo
+	@echo "Build finished; now you can process the pickle files."
 
-# htmlhelp:
-# 	$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
-# 	@echo
-# 	@echo "Build finished; now you can run HTML Help Workshop with the" \
-# 	      ".hhp project file in $(BUILDDIR)/htmlhelp."
+json:
+	$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
+	@echo
+	@echo "Build finished; now you can process the JSON files."
 
-# qthelp:
-# 	$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
-# 	@echo
-# 	@echo "Build finished; now you can run "qcollectiongenerator" with the" \
-# 	      ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
-# 	@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/virtualenvwrapper.qhcp"
-# 	@echo "To view the help file:"
-# 	@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/virtualenvwrapper.qhc"
+htmlhelp:
+	$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
+	@echo
+	@echo "Build finished; now you can run HTML Help Workshop with the" \
+	      ".hhp project file in $(BUILDDIR)/htmlhelp."
 
-# latex:
-# 	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
-# 	@echo
-# 	@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
-# 	@echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \
-# 	      "run these through (pdf)latex."
+qthelp:
+	$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
+	@echo
+	@echo "Build finished; now you can run "qcollectiongenerator" with the" \
+	      ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
+	@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/virtualenvwrapper.qhcp"
+	@echo "To view the help file:"
+	@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/virtualenvwrapper.qhc"
 
-# changes:
-# 	$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
-# 	@echo
-# 	@echo "The overview file is in $(BUILDDIR)/changes."
+devhelp:
+	$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
+	@echo
+	@echo "Build finished."
+	@echo "To view the help file:"
+	@echo "# mkdir -p $$HOME/.local/share/devhelp/virtualenvwrapper"
+	@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/virtualenvwrapper"
+	@echo "# devhelp"
 
-# linkcheck:
-# 	$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
-# 	@echo
-# 	@echo "Link check complete; look for any errors in the above output " \
-# 	      "or in $(BUILDDIR)/linkcheck/output.txt."
+epub:
+	$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
+	@echo
+	@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
 
-# doctest:
-# 	$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
-# 	@echo "Testing of doctests in the sources finished, look at the " \
-# 	      "results in $(BUILDDIR)/doctest/output.txt."
+latex:
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+	@echo
+	@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
+	@echo "Run \`make' in that directory to run these through (pdf)latex" \
+	      "(use \`make latexpdf' here to do that automatically)."
+
+latexpdf:
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+	@echo "Running LaTeX files through pdflatex..."
+	$(MAKE) -C $(BUILDDIR)/latex all-pdf
+	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+text:
+	$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
+	@echo
+	@echo "Build finished. The text files are in $(BUILDDIR)/text."
+
+man:
+	$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
+	@echo
+	@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
+
+texinfo:
+	$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
+	@echo
+	@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
+	@echo "Run \`make' in that directory to run these through makeinfo" \
+	      "(use \`make info' here to do that automatically)."
+
+info:
+	$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
+	@echo "Running Texinfo files through makeinfo..."
+	make -C $(BUILDDIR)/texinfo info
+	@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
+
+gettext:
+	$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
+	@echo
+	@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
+
+changes:
+	$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
+	@echo
+	@echo "The overview file is in $(BUILDDIR)/changes."
+
+linkcheck:
+	$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
+	@echo
+	@echo "Link check complete; look for any errors in the above output " \
+	      "or in $(BUILDDIR)/linkcheck/output.txt."
+
+doctest:
+	$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
+	@echo "Testing of doctests in the sources finished, look at the " \
+	      "results in $(BUILDDIR)/doctest/output.txt."

docs/en/command_ref.rst

-.. Quick reference documentation for virtualenvwrapper command line functions
-    Originally contributed Thursday, May 28, 2009 by Steve Steiner (ssteinerX@gmail.com)
-
-.. _command:
-
-#################
-Command Reference
-#################
-
-All of the commands below are to be used on the Terminal command line.
-
-=====================
-Managing Environments
-=====================
-
-.. _command-mkvirtualenv:
-
-mkvirtualenv
-------------
-
-Create a new environment, in the WORKON_HOME.
-
-Syntax::
-
-    mkvirtualenv [-a project_path] [-i package] [-r requirements_file] [virtualenv options] ENVNAME
-
-All command line options except ``-a``, ``-i``, ``-r``, and ``-h`` are passed
-directly to ``virtualenv``.  The new environment is automatically
-activated after being initialized.
-
-::
-
-    $ workon
-    $ mkvirtualenv mynewenv
-    New python executable in mynewenv/bin/python
-    Installing distribute.............................................
-    ..................................................................
-    ..................................................................
-    done.
-    (mynewenv)$ workon
-    mynewenv
-    (mynewenv)$ 
-
-The ``-a`` option can be used to associate an existing project
-directory with the new environment.
-
-The ``-i`` option can be used to install one or more packages (by
-repeating the option) after the environment is created.
-
-The ``-r`` option can be used to specify a text file listing packages
-to be installed. The argument value is passed to ``pip -r`` to be
-installed.
-
-.. seealso::
-
-   * :ref:`scripts-premkvirtualenv`
-   * :ref:`scripts-postmkvirtualenv`
-   * `requirements file format`_
-
-.. _requirements file format: http://www.pip-installer.org/en/latest/requirement-format.html
-
-.. _command-mktmpenv:
-
-mktmpenv
---------
-
-Create a new virtualenv in the ``WORKON_HOME`` directory.
-
-Syntax::
-
-    mktmpenv [VIRTUALENV_OPTIONS]
-
-A unique virtualenv name is generated.
-
-::
-
-    $ mktmpenv
-    Using real prefix '/Library/Frameworks/Python.framework/Versions/2.7'
-    New python executable in 1e513ac6-616e-4d56-9aa5-9d0a3b305e20/bin/python
-    Overwriting 1e513ac6-616e-4d56-9aa5-9d0a3b305e20/lib/python2.7/distutils/__init__.py 
-    with new content
-    Installing distribute...............................................
-    ....................................................................
-    .................................................................done.
-    This is a temporary environment. It will be deleted when deactivated.
-    (1e513ac6-616e-4d56-9aa5-9d0a3b305e20) $
-
-.. _command-lsvirtualenv:
-
-lsvirtualenv
-------------
-
-List all of the environments.
-
-Syntax::
-
-    lsvirtualenv [-b] [-l] [-h]
-
--b
-  Brief mode, disables verbose output.
--l
-  Long mode, enables verbose output.  Default.
--h
-  Print the help for lsvirtualenv.
-
-.. seealso::
-
-   * :ref:`scripts-get_env_details`
-
-.. _command-showvirtualenv:
-
-showvirtualenv
---------------
-
-Show the details for a single virtualenv.
-
-Syntax::
-
-    showvirtualenv [env]
-
-.. seealso::
-
-   * :ref:`scripts-get_env_details`
-
-.. _command-rmvirtualenv:
-
-rmvirtualenv
-------------
-
-Remove an environment, in the WORKON_HOME.
-
-Syntax::
-
-    rmvirtualenv ENVNAME
-
-You must use :ref:`command-deactivate` before removing the current
-environment.
-
-::
-
-    (mynewenv)$ deactivate
-    $ rmvirtualenv mynewenv
-    $ workon
-    $
-
-.. seealso::
-
-   * :ref:`scripts-prermvirtualenv`
-   * :ref:`scripts-postrmvirtualenv`
-
-.. _command-cpvirtualenv:
-
-cpvirtualenv
-------------
-
-Duplicate an existing virtualenv environment. The source can be an
-environment managed by virtualenvwrapper or an external environment
-created elsewhere.
-
-Syntax::
-
-    cpvirtualenv ENVNAME [TARGETENVNAME]
-
-.. note::
-
-  Target environment name is required for WORKON_HOME
-  duplications. However, target environment name can be ommited for
-  importing external environments. If omitted, the new environment is
-  given the same name as the original.
-
-::
-
-    $ workon 
-    $ mkvirtualenv source
-    New python executable in source/bin/python
-    Installing distribute.............................................
-    ..................................................................
-    ..................................................................
-    done.
-    (source)$ cpvirtualenv source dest
-    Making script /Users/dhellmann/Devel/virtualenvwrapper/tmp/dest/bin/easy_install relative
-    Making script /Users/dhellmann/Devel/virtualenvwrapper/tmp/dest/bin/easy_install-2.6 relative
-    Making script /Users/dhellmann/Devel/virtualenvwrapper/tmp/dest/bin/pip relative
-    Script /Users/dhellmann/Devel/virtualenvwrapper/tmp/dest/bin/postactivate cannot be made relative (it's not a normal script that starts with #!/Users/dhellmann/Devel/virtualenvwrapper/tmp/dest/bin/python)
-    Script /Users/dhellmann/Devel/virtualenvwrapper/tmp/dest/bin/postdeactivate cannot be made relative (it's not a normal script that starts with #!/Users/dhellmann/Devel/virtualenvwrapper/tmp/dest/bin/python)
-    Script /Users/dhellmann/Devel/virtualenvwrapper/tmp/dest/bin/preactivate cannot be made relative (it's not a normal script that starts with #!/Users/dhellmann/Devel/virtualenvwrapper/tmp/dest/bin/python)
-    Script /Users/dhellmann/Devel/virtualenvwrapper/tmp/dest/bin/predeactivate cannot be made relative (it's not a normal script that starts with #!/Users/dhellmann/Devel/virtualenvwrapper/tmp/dest/bin/python)
-    (dest)$ workon 
-    dest
-    source
-    (dest)$ 
-
-.. seealso::
-
-   * :ref:`scripts-precpvirtualenv`
-   * :ref:`scripts-postcpvirtualenv`
-   * :ref:`scripts-premkvirtualenv`
-   * :ref:`scripts-postmkvirtualenv`
-
-==================================
-Controlling the Active Environment
-==================================
-
-.. _command-workon:
-
-workon
-------
-
-List or change working virtual environments
-
-Syntax::
-
-    workon [environment_name]
-
-If no ``environment_name`` is given the list of available environments
-is printed to stdout.
-
-::
-
-    $ workon 
-    $ mkvirtualenv env1
-      New python executable in env1/bin/python
-    Installing distribute.............................................
-    ..................................................................
-    ..................................................................
-    done.
-    (env1)$ mkvirtualenv env2
-    New python executable in env2/bin/python
-    Installing distribute.............................................
-    ..................................................................
-    ..................................................................
-    done.
-    (env2)$ workon 
-    env1
-    env2
-    (env2)$ workon env1
-    (env1)$ echo $VIRTUAL_ENV
-    /Users/dhellmann/Devel/virtualenvwrapper/tmp/env1
-    (env1)$ workon env2
-    (env2)$ echo $VIRTUAL_ENV
-    /Users/dhellmann/Devel/virtualenvwrapper/tmp/env2
-    (env2)$ 
-
-
-.. seealso::
-
-   * :ref:`scripts-predeactivate`
-   * :ref:`scripts-postdeactivate`
-   * :ref:`scripts-preactivate`
-   * :ref:`scripts-postactivate`
-
-.. _command-deactivate:
-
-deactivate
-----------
-
-Switch from a virtual environment to the system-installed version of
-Python.
-
-Syntax::
-
-    deactivate
-
-.. note::
-
-    This command is actually part of virtualenv, but is wrapped to
-    provide before and after hooks, just as workon does for activate.
-
-::
-
-    $ workon 
-    $ echo $VIRTUAL_ENV
-
-    $ mkvirtualenv env1
-    New python executable in env1/bin/python
-    Installing distribute.............................................
-    ..................................................................
-    ..................................................................
-    done.
-    (env1)$ echo $VIRTUAL_ENV
-    /Users/dhellmann/Devel/virtualenvwrapper/tmp/env1
-    (env1)$ deactivate
-    $ echo $VIRTUAL_ENV
-
-    $ 
-
-.. seealso::
-
-   * :ref:`scripts-predeactivate`
-   * :ref:`scripts-postdeactivate`
-
-==================================
-Quickly Navigating to a virtualenv
-==================================
-
-There are two functions to provide shortcuts to navigate into the
-currently-active virtualenv.
-
-cdvirtualenv
-------------
-
-Change the current working directory to ``$VIRTUAL_ENV``.
-
-Syntax::
-
-    cdvirtualenv [subdir]
-
-Calling ``cdvirtualenv`` changes the current working directory to the
-top of the virtualenv (``$VIRTUAL_ENV``).  An optional argument is
-appended to the path, allowing navigation directly into a
-subdirectory.
-
-::
-
-    $ mkvirtualenv env1
-    New python executable in env1/bin/python
-    Installing distribute.............................................
-    ..................................................................
-    ..................................................................
-    done.
-    (env1)$ echo $VIRTUAL_ENV
-    /Users/dhellmann/Devel/virtualenvwrapper/tmp/env1
-    (env1)$ cdvirtualenv
-    (env1)$ pwd
-    /Users/dhellmann/Devel/virtualenvwrapper/tmp/env1
-    (env1)$ cdvirtualenv bin
-    (env1)$ pwd
-    /Users/dhellmann/Devel/virtualenvwrapper/tmp/env1/bin
-
-cdsitepackages
---------------
-
-Change the current working directory to the ``site-packages`` for
-``$VIRTUAL_ENV``.
-
-Syntax::
-
-    cdsitepackages [subdir]
-
-Because the exact path to the site-packages directory in the
-virtualenv depends on the version of Python, ``cdsitepackages`` is
-provided as a shortcut for ``cdvirtualenv
-lib/python${pyvers}/site-packages``. An optional argument is also
-allowed, to specify a directory hierarchy within the ``site-packages``
-directory to change into.
-
-::
-
-    $ mkvirtualenv env1
-    New python executable in env1/bin/python
-    Installing distribute.............................................
-    ..................................................................
-    ..................................................................
-    done.
-    (env1)$ echo $VIRTUAL_ENV
-    /Users/dhellmann/Devel/virtualenvwrapper/tmp/env1
-    (env1)$ cdsitepackages PyMOTW/bisect/
-    (env1)$ pwd
-    /Users/dhellmann/Devel/virtualenvwrapper/tmp/env1/lib/python2.6/site-packages/PyMOTW/bisect
-
-lssitepackages
---------------
-
-Calling ``lssitepackages`` shows the content of the ``site-packages``
-directory of the currently-active virtualenv.
-
-Syntax::
-
-    lssitepackages
-
-::
-
-    $ mkvirtualenv env1
-    New python executable in env1/bin/python
-    Installing distribute.............................................
-    ..................................................................
-    ..................................................................
-    done.
-    (env1)$ $ workon env1
-    (env1)$ lssitepackages 
-    distribute-0.6.10-py2.6.egg     pip-0.6.3-py2.6.egg
-    easy-install.pth                setuptools.pth
-
-===============
-Path Management
-===============
-
-add2virtualenv
---------------
-
-Adds the specified directories to the Python path for the
-currently-active virtualenv.
-
-Syntax::
-
-    add2virtualenv directory1 directory2 ...
-
-Sometimes it is desirable to share installed packages that are not in
-the system ``site-pacakges`` directory and which should not be
-installed in each virtualenv.  One possible solution is to symlink the
-source into the environment ``site-packages`` directory, but it is
-also easy to add extra directories to the PYTHONPATH by including them
-in a ``.pth`` file inside ``site-packages`` using ``add2virtualenv``.
-
-1. Check out the source for a big project, such as Django.
-2. Run: ``add2virtualenv path_to_source``.
-3. Run: ``add2virtualenv``.
-4. A usage message and list of current "extra" paths is printed.
-
-The directory names are added to a path file named
-``virtualenv_path_extensions.pth`` inside the site-packages directory
-for the environment.
-
-*Based on a contribution from James Bennett and Jannis Leidel.*
-
-.. _command-toggleglobalsitepackages:
-
-toggleglobalsitepackages
-------------------------
-
-Controls whether the active virtualenv will access the packages in the
-global Python ``site-packages`` directory.
-
-Syntax::
-
-    toggleglobalsitepackages [-q]
-
-Outputs the new state of the virtualenv. Use the ``-q`` switch to turn off all
-output.
-
-::
-
-    $ mkvirtualenv env1
-    New python executable in env1/bin/python
-    Installing distribute.............................................
-    ..................................................................
-    ..................................................................
-    done.
-    (env1)$ toggleglobalsitepackages
-    Disabled global site-packages
-    (env1)$ toggleglobalsitepackages
-    Enabled global site-packages
-    (env1)$ toggleglobalsitepackages -q
-    (env1)$
-
-============================
-Project Directory Management
-============================
-
-.. seealso::
-
-   :ref:`project-management`
-
-.. _command-mkproject:
-
-mkproject
----------
-
-Create a new virtualenv in the WORKON_HOME and project directory in
-PROJECT_HOME.
-
-Syntax::
-
-    mkproject [-t template] [virtualenv_options] ENVNAME
-
-The template option may be repeated to have several templates used to
-create a new project.  The templates are applied in the order named on
-the command line.  All other options are passed to ``mkvirtualenv`` to
-create a virtual environment with the same name as the project.
-
-::
-
-    $ mkproject myproj
-    New python executable in myproj/bin/python
-    Installing distribute.............................................
-    ..................................................................
-    ..................................................................
-    done.
-    Creating /Users/dhellmann/Devel/myproj
-    (myproj)$ pwd
-    /Users/dhellmann/Devel/myproj
-    (myproj)$ echo $VIRTUAL_ENV
-    /Users/dhellmann/Envs/myproj
-    (myproj)$ 
-
-.. seealso::
-
-  * :ref:`scripts-premkproject`
-  * :ref:`scripts-postmkproject`
-
-setvirtualenvproject
---------------------
-
-Bind an existing virtualenv to an existing project.
-
-Syntax::
-
-  setvirtualenvproject [virtualenv_path project_path]
-
-The arguments to ``setvirtualenvproject`` are the full paths to the
-virtualenv and project directory.  An association is made so that when
-``workon`` activates the virtualenv the project is also activated.
-
-::
-
-    $ mkproject myproj
-    New python executable in myproj/bin/python
-    Installing distribute.............................................
-    ..................................................................
-    ..................................................................
-    done.
-    Creating /Users/dhellmann/Devel/myproj
-    (myproj)$ mkvirtualenv myproj_new_libs
-    New python executable in myproj/bin/python
-    Installing distribute.............................................
-    ..................................................................
-    ..................................................................
-    done.
-    Creating /Users/dhellmann/Devel/myproj
-    (myproj_new_libs)$ setvirtualenvproject $VIRTUAL_ENV $(pwd)
-
-When no arguments are given, the current virtualenv and current
-directory are assumed.
-
-Any number of virtualenvs can refer to the same project directory,
-making it easy to switch between versions of Python or other
-dependencies for testing.
-
-.. _command-cdproject:
-
-cdproject
----------
-
-Change the current working directory to the one specified as the
-project directory for the active virtualenv.
-
-Syntax::
-
-  cdproject
-

docs/en/developers.rst

-##############
-For Developers
-##############
-
-If you would like to contribute to virtualenvwrapper directly, these
-instructions should help you get started.  Patches, bug reports, and
-feature requests are all welcome through the `BitBucket site
-<http://bitbucket.org/dhellmann/virtualenvwrapper/>`_.  Contributions
-in the form of patches or pull requests are easier to integrate and
-will receive priority attention.
-
-.. note::
-
-  Before contributing new features to virtualenvwrapper core, please
-  consider whether they should be implemented as an extension instead.
-
-Building Documentation
-======================
-
-The documentation for virtualenvwrapper is written in reStructuredText
-and converted to HTML using Sphinx. The build itself is driven by
-make.  You will need the following packages in order to build the
-docs:
-
-- Sphinx
-- docutils
-
-Once all of the tools are installed into a virtualenv using
-pip, run ``make html`` to generate the HTML version of the
-documentation::
-
-    $ make html
-    rm -rf virtualenvwrapper/docs
-    (cd docs && make html SPHINXOPTS="-c sphinx/pkg")
-    sphinx-build -b html -d build/doctrees  -c sphinx/pkg source build/html
-    Running Sphinx v0.6.4
-    loading pickled environment... done
-    building [html]: targets for 2 source files that are out of date
-    updating environment: 0 added, 2 changed, 0 removed
-    reading sources... [ 50%] command_ref
-    reading sources... [100%] developers
-    
-    looking for now-outdated files... none found
-    pickling environment... done
-    checking consistency... done
-    preparing documents... done
-    writing output... [ 33%] command_ref
-    writing output... [ 66%] developers
-    writing output... [100%] index
-    
-    writing additional files... search
-    copying static files... WARNING: static directory '/Users/dhellmann/Devel/virtualenvwrapper/plugins/docs/sphinx/pkg/static' does not exist
-    done
-    dumping search index... done
-    dumping object inventory... done
-    build succeeded, 1 warning.
-    
-    Build finished. The HTML pages are in build/html.
-    cp -r docs/build/html virtualenvwrapper/docs
-    
-The output version of the documentation ends up in
-``./virtualenvwrapper/docs`` inside your sandbox.
-
-Running Tests
-=============
-
-The test suite for virtualenvwrapper uses shunit2_ and tox_.  The
-shunit2 source is included in the ``tests`` directory, but tox must be
-installed separately (``pip install tox``).
-
-To run the tests under bash, zsh, and ksh for Python 2.4 through 2.7,
-run ``tox`` from the top level directory of the hg repository.
-
-To run individual test scripts, use a command like::
-
-  $ tox tests/test_cd.sh
-
-To run tests under a single version of Python, specify the appropriate
-environment when running tox::
-
-  $ tox -e py27
-
-Combine the two modes to run specific tests with a single version of
-Python::
-
-  $ tox -e py27 tests/test_cd.sh
-
-Add new tests by modifying an existing file or creating new script in
-the ``tests`` directory.
-
-.. _shunit2: http://shunit2.googlecode.com/
-
-.. _tox: http://codespeak.net/tox
-
-.. _developer-templates:
-
-Creating a New Template
-=======================
-
-virtualenvwrapper.project templates work like `virtualenvwrapper
-plugins
-<http://www.doughellmann.com/docs/virtualenvwrapper/plugins.html>`__.
-The *entry point* group name is
-``virtualenvwrapper.project.template``.  Configure your entry point to
-refer to a function that will **run** (source hooks are not supported
-for templates).
-
-The argument to the template function is the name of the project being
-created.  The current working directory is the directory created to
-hold the project files (``$PROJECT_HOME/$envname``).
-
-Help Text
----------
-
-One difference between project templates and other virtualenvwrapper
-extensions is that only the templates specified by the user are run.
-The ``mkproject`` command has a help option to give the user a list of
-the available templates.  The names are taken from the registered
-entry point names, and the descriptions are taken from the docstrings
-for the template functions.

docs/en/extensions.rst

-=====================
- Existing Extensions
-=====================
-
-Below is a list of some of the extensions available for use with
-virtualenvwrapper.
-
-emacs-desktop
-=============
-
-Emacs desktop-mode_ lets you save the state of emacs (open buffers,
-kill rings, buffer positions, etc.) between sessions.  It can also be
-used as a project file similar to other IDEs.  The emacs-desktop_
-plugin adds a trigger to save the current desktop file and load a new
-one when activating a new virtualenv using ``workon``.
-
-.. _desktop-mode: http://www.emacswiki.org/emacs/DeskTop
-
-.. _emacs-desktop: http://www.doughellmann.com/projects/virtualenvwrapper-emacs-desktop/
-
-.. _extensions-user_scripts:
-
-user_scripts
-============