virtualenvwrapper / docs / en / history.rst

Release History


  • Clean up file permissions and remove shebangs from scripts not intended to be executed on the command line. (contributed by :bbuser:`ralphbean`)
  • Worked on some brittle tests.
  • Received updates to Japanese translation of the documentation from :bbuser:`t2y`.
  • Fix the test script and runner so the user's $WORKON_HOME is not erased if they do not have some test shells installed. (big thanks to :bbuser:`agriffis`).
  • If the hook loader is told to list plugins but is not given a hook name, it prints the list of core hooks.


  • Make project_dir a local variable so that :ref:`command-cdproject` does not interfere with other variables the user might have set. (contributed by :bbuser:`slackorama`)
  • Fix typo in documentation reported by Nick Martin.
  • Change trove classifier for license "MIT" to reflect the license text presented in the documentation. This does not indicate a change in the license, just a correction to the expression of that intent. See :ref:`license` (contributed by :bbuser:`ralphbean` as fix for :bbissue:`134`)
  • Extend :ref:`command-rmvirtualenv` to allow removing more than one environment at a time. (contributed by :bbuser:`ciberglo`)
  • Change the definition of virtualenvwrapper_get_site_packages_dir to ask distutils for the site-packages directory instead of trying to build the path ourselves in the shell script. This should resolve :bbissue:`112` and improve support for Python interpreters other than C Python. Thanks to Carl Meyer and Dario Bertini for their contributions toward the fix.



  • Fix some packaging issues that made it more difficult to run the tests directly from the sdist package. (:bbissue:`126`)


  • Add Python 3 support, thanks in large part to the efforts of Daniel Kraus (:bbuser:`dakra`). Tested under Python 2.6, 2.7, and 3.2.


  • Remove the initialization shortcut because it breaks tab completion in sub-shell environments like screen and tmux. (:bbissue:`121`)


  • Add -a option to :ref:`command-mkvirtualenv` to associate a new virtualenv with an existing project directory. Contributed by Mike Fogel (:bbuser:`mfogel`).
  • Drops support for Python 2.4 and 2.5. The tools may still work, but I no longer have a development environment set up for testing them, so I do not officially support them.
  • Shortcut initialization if it has run before.
  • Set hook log file permissions to be group-writable. (:bbissue:`62` reported by :bbuser:`hedgeddown`)
  • Add VIRTUALENVWRAPPER_PROJECT_FILENAME variable so the .project file used to link a virtualenv to a project can be renamed to avoid conflicts with other tools. (:bbissue:`120` reported by :bbuser:`arthuralvim`)






  • Move setup code for tab completion later in the startup code so all of the needed variables are configured. (:bbissue:`97`)
  • Expand tab completion for zsh to work for all commands.


  • When testing for WORKON_HOME during startup, dereference any symlink to make sure it is a directory.
  • Set VIRTUALENVWRAPPER_HOOK_DIR and VIRTUALENV_WRAPPER_LOG DIR in virtualenvwrapper_initialize after WORKON_HOME is set (:bbissue:`94`).
  • Update the :ref:`install-basic` instructions to be more explicit about needing to install virtualenvwrapper globally (or at least outside of a virtualenv).



  • Hard-code the version information in the and scripts. This still doesn't work for, since the doc build needs the sphinxcontrib.bitbucket extension, but will make it easier to transition the docs to another site later.





  • Point release uploaded to PyPI during outage on



  • Make :ref:`command-workon` list brief environment details when run without argument, instead of full details.




  • Added get_env_details hook.


  • Integrate Fred Palmer's patch to escape more shell commands to avoid aliases. Resolves :bbissue:`57`.
  • Fix a problem with egrep argument escaping (:bbissue:`55`).
  • Fix a problem with running mkvirtualenv without arguments (:bbissue:`56`).


  • Escape which calls to avoid aliases. Resolves :bbissue:`46`.
  • Integrate Manuel Kaufmann's patch to unset GREP_OPTIONS before calling grep. Resolves :bbissue:`51`.
  • Escape $ in regex to resolve :bbissue:`53`.
  • Escape rm to avoid issues with aliases and resolve :bbissue:`50`.


  • Switched hook loader execution to a form that works with Python 2.4 to resolve :bbissue:`43`.
  • Tested under Python 2.7b1. See :bbissue:`44`.
  • Incorporated performance improvements from David Wolever. See :bbissue:`38`.
  • Added some debug instrumentation for :bbissue:`35`.



  • Add support for ksh. Thanks to Doug Latornell for doing the research on what needed to be changed.
  • Test import of virtualenvwrapper.hook_loader on startup and report the error in a way that should help the user figure out how to fix it (:bbissue:`33`).
  • Update :ref:`command-mkvirtualenv` documentation to include the fact that a new environment is activated immediately after it is created (:bbissue:`30`).
  • Added hooks around :ref:`command-cpvirtualenv`.
  • Made deactivation more robust, especially under ksh.
  • Use Python's tempfile module for creating temporary filenames safely and portably.
  • Fix a problem with virtualenvwrapper_show_workon_options that caused it to show * as the name of a virtualenv when no environments had yet been created.
  • Change the hook loader so it can be told to run only a set of named hooks.
  • Add support for listing the available hooks, to be used in help output of commands like virtualenvwrapper.project's mkproject.
  • Fix mkvirtualenv -h option behavior.
  • Change logging so the $WORKON_HOME/hook.log file rotates after 10KiB.


  • Fixed :bbissue:`32`, making virtualenvwrapper.user_scripts compatible with Python 2.5 again.


  • Fixed :bbissue:`29`, to use a default value for TMPDIR if it is not set in the user's shell environment.


  • Rewrote hook management using Distribute entry points to make it easier to share extensions.


  • Added cpvirtualenv command [Thomas Desvenain]


  • Fix a problem with error messages showing up during init for users with the wrappers installed site-wide but who are not actually using them. See :bbissue:`26`.
  • Split up the tests into multiple files.
  • Run all tests with all supported shells.


  • Merged in changes to cdsitepackages from William McVey. It now takes an argument and supports tab-completion for directories within site-packages.



  • Add license text to the header of the script.


  • Resolve a bug with the preactivate hook not being run properly. Refer to :bbissue:`21` for complete details.


  • Resolve a bug with the postmkvirtualenv hook not being run properly. Refer to :bbissue:`19` and :bbissue:`20` for complete details.


  • Automatically create any missing hook scripts as stubs with comments to expose the feature in case users are not aware of it.


  • Better protection of $WORKON_HOME does not exist when the wrapper script is sourced.


  • Incorporate lssitepackages feature from Sander Smits.
  • Refactor some of the functions that were using copy-and-paste code to build path names.
  • Add a few tests.


  • Fix problem with add2virtualenv and relative paths. Thanks to Doug Latornell for the bug report James Bennett for the suggested fix.


  • Incorporate patch from Sascha Brossmann to fix a :bbissue:`15`. Directory normalization was causing WORKON_HOME to appear to be a missing directory if there were control characters in the output of pwd.


  • Remove warning during installation if sphinxcontrib.paverutils is not installed. (:bbissue:`10`)
  • Added some basic developer information to the documentation.
  • Added documentation for deactivate command.


  • Added documentation updates provided by Steve Steiner.


  • Merged in changes to cdvirtualenv from wam and added tests and docs.
  • Merged in changes to make error messages go to stderr, also provided by wam.
  • Better error handling in mkvirtualenv.
  • Remove bogus VIRTUALENV_WRAPPER_BIN variable.
  • Wrap the virtualenv version of deactivate() with one that lets us invoke the predeactivate hooks.
  • Fix virtualenvwrapper_show_workon_options for colorized versions of ls and write myself a note so I don't break it again later.
  • Convert to use true tests with shunit2


  • Fix :bbissue:`5` by correctly handling symlinks and limiting the list of envs to things that look like they can be activated.


  • Check return value of virtualenvwrapper_verify_workon_home everywhere, thanks to Jeff Forcier for pointing out the errors.
  • Fix instructions at top of README, pointed out by Matthew Scott.
  • Add cdvirtualenv and cdsitepackages, contributed by James Bennett.
  • Enhance


  • Optimize virtualenvwrapper_show_workon_options.
  • Add global postactivate hook.



  • Add more hooks for operations to run before and after creating or deleting environments based on changes from Chris Hasenpflug.


  • Corrected a problem with change to mkvirtualenv that lead to release 1.8 by using an alternate fix proposed by James in comments on release 1.4.


  • Fix for processing the argument list in mkvirtualenv from jorgevargas (:bbissue:`1`)


  • Move to for hosting
  • clean up TODO list and svn keywords
  • add license section below


  • More zsh support (fixes to rmvirtualenv) from Byron Clark.


  • Add completion support for zsh, courtesy of Ted Leung.


  • Fix some issues with spaces in directory or env names. They still don't really work with virtualenv, though.
  • Added documentation for the postactivate and predeactivate scripts.


  • Includes a new .pth management function based on work contributed by James Bennett and Jannis Leidel.


  • Includes a fix for a nasty bug in rmvirtualenv identified by John Shimek.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.