Changes & News¶
Warning
Python bugfix releases 2.6.8, 2.7.3, 3.1.5 and 3.2.3 include a change that
will cause “import random” to fail with “cannot import name urandom” on any
virtualenv created on a Unix host with an earlier release of Python
2.6/2.7/3.1/3.2, if the underlying system Python is upgraded. This is due to
the fact that a virtualenv uses the system Python’s standard library but
contains its own copy of the Python interpreter, so an upgrade to the system
Python results in a mismatch between the version of the Python interpreter
and the version of the standard library. It can be fixed by removing
$ENV/bin/python and re-running virtualenv on the same target directory
with the upgraded Python.
master (unreleased)¶
- Fix activate.fish on OS X. Fixes #8. Thanks David Schoonover.
- Create a virtualenv-x.x script with the Python version when installing, so virtualenv for multiple Python versions can be installed to the same script location. Thanks Miki Tebeka.
- Restored ability to create a virtualenv with a path longer than 78 characters, without breaking creation of virtualenvs with non-ASCII paths. Thanks, Bradley Ayers.
1.7.1.2 (2012-02-17)¶
- Fixed minor issue in –relocatable. Thanks, Cap Petschulat.
1.7.1.1 (2012-02-16)¶
- Bumped the version string in
virtualenv.pyup, too. - Fixed rST rendering bug of long description.
1.7.1 (2012-02-16)¶
- Update embedded pip to version 1.1.
- Fix –relocatable under Python 3. Thanks Doug Hellmann.
- Added environ PATH modification to activate_this.py. Thanks Doug Napoleone. Fixes #14.
- Support creating virtualenvs directly from a Python build directory on Windows. Thanks CBWhiz. Fixes #139.
- Use non-recursive symlinks to fix things up for posix_local install scheme. Thanks michr.
- Made activate script available for use with msys and cygwin on Windows. Thanks Greg Haskins, Cliff Xuan, Jonathan Griffin and Doug Napoleone. Fixes #176.
- Fixed creation of virtualenvs on Windows when Python is not installed for all users. Thanks Anatoly Techtonik for report and patch and Doug Napoleone for testing and confirmation. Fixes #87.
- Fixed creation of virtualenvs using -p in installs where some modules that ought to be in the standard library (e.g. readline) are actually installed in site-packages next to virtualenv.py. Thanks Greg Haskins for report and fix. Fixes #167.
- Added activation script for Powershell (signed by Jannis Leidel). Many thanks to Jason R. Coombs.
1.7 (2011-11-30)¶
- Gave user-provided
--extra-search-dirpriority over default dirs for finding setuptools/distribute (it already had priority for finding pip). Thanks Ethan Jucovy. - Updated embedded Distribute release to 0.6.24. Thanks Alex Gronholm.
- Made
--no-site-packagesbehavior the default behavior. The--no-site-packagesflag is still permitted, but displays a warning when used. Thanks Chris McDonough. - New flag:
--system-site-packages; this flag should be passed to get the previous default global-site-package-including behavior back. - Added ability to set command options as environment variables and options
in a
virtualenv.inifile. - Fixed various encoding related issues with paths. Thanks Gunnlaugur Thor Briem.
- Made
virtualenv.pyscript executable.
1.6.4 (2011-07-21)¶
- Restored ability to run on Python 2.4, too.
1.6.3 (2011-07-16)¶
- Restored ability to run on Python < 2.7.
1.6.2 (2011-07-16)¶
- Updated embedded distribute release to 0.6.19.
- Updated embedded pip release to 1.0.2.
- Fixed #141 - Be smarter about finding pkg_resources when using the
non-default Python intepreter (by using the
-poption). - Fixed #112 - Fixed path in docs.
- Fixed #109 - Corrected doctests of a Logger method.
- Fixed #118 - Fixed creating virtualenvs on platforms that use the “posix_local” install scheme, such as Ubuntu with Python 2.7.
- Add missing library to Python 3 virtualenvs (
_dummy_thread).
1.6.1 (2011-04-30)¶
- Start to use git-flow.
- Added support for PyPy 1.5
- Fixed #121 – added sanity-checking of the -p argument. Thanks Paul Nasrat.
- Added progress meter for pip installation as well as setuptools. Thanks Ethan Jucovy.
- Added –never-download and –search-dir options. Thanks Ethan Jucovy.
1.6¶
- Added Python 3 support! Huge thanks to Vinay Sajip and Vitaly Babiy.
- Fixed creation of virtualenvs on Mac OS X when standard library modules (readline) are installed outside the standard library.
- Updated bundled pip to 1.0.
1.5.2¶
- Moved main repository to Github: https://github.com/pypa/virtualenv
- Transferred primary maintenance from Ian to Jannis Leidel, Carl Meyer and Brian Rosner
- Fixed a few more pypy related bugs.
- Updated bundled pip to 0.8.2.
- Handed project over to new team of maintainers.
- Moved virtualenv to Github at https://github.com/pypa/virtualenv
1.5.1¶
- Added
_weakrefsetrequirement for Python 2.7.1. - Fixed Windows regression in 1.5
1.5¶
- Include pip 0.8.1.
- Add support for PyPy.
- Uses a proper temporary dir when installing environment requirements.
- Add
--promptoption to be able to override the default prompt prefix. - Fix an issue with
--relocatableon Windows. - Fix issue with installing the wrong version of distribute.
- Add fish and csh activate scripts.
1.4.9¶
- Include pip 0.7.2
1.4.8¶
- Fix for Mac OS X Framework builds that use
--universal-archs=intel - Fix
activate_this.pyon Windows. - Allow
$PYTHONHOMEto be set, so long as you usesource bin/activateit will get unset; if you leave it set and do not activate the environment it will still break the environment. - Include pip 0.7.1
1.4.7¶
- Include pip 0.7
1.4.6¶
- Allow
activate.shto skip updating the prompt (by setting$VIRTUAL_ENV_DISABLE_PROMPT).
1.4.5¶
- Include pip 0.6.3
- Fix
activate.batanddeactivate.batunder Windows whenPATHcontained a parenthesis
1.4.4¶
- Include pip 0.6.2 and Distribute 0.6.10
- Create the
virtualenvscript even when Setuptools isn’t installed - Fix problem with
virtualenv --relocatewhenbin/has subdirectories (e.g.,bin/.svn/); from Alan Franzoni. - If you set
$VIRTUALENV_USE_DISTRIBUTEthen virtualenv will use Distribute by default (so you don’t have to remember to use--distribute).
1.4.3¶
- Include pip 0.6.1
1.4.2¶
- Fix pip installation on Windows
- Fix use of stand-alone
virtualenv.py(and boot scripts) - Exclude ~/.local (user site-packages) from environments when using
--no-site-packages
1.4.1¶
- Include pip 0.6
1.4¶
- Updated setuptools to 0.6c11
- Added the –distribute option
- Fixed packaging problem of support-files
1.3.4¶
- Virtualenv now copies the actual embedded Python binary on Mac OS X to fix a hang on Snow Leopard (10.6).
- Fail more gracefully on Windows when
win32apiis not installed. - Fix site-packages taking precedent over Jython’s
__classpath__and also specially handle the new__pyclasspath__entry insys.path. - Now copies Jython’s
registryfile to the virtualenv if it exists. - Better find libraries when compiling extensions on Windows.
- Create
Scripts\pythonw.exeon Windows. - Added support for the Debian/Ubuntu
/usr/lib/pythonX.Y/dist-packagesdirectory. - Set
distutils.sysconfig.get_config_vars()['LIBDIR'](based onsys.real_prefix) which is reported to help building on Windows. - Make
deactivatework on ksh - Fixes for
--python: make it work with--relocatableand the symlink created to the exact Python version.
1.3.3¶
- Use Windows newlines in
activate.bat, which has been reported to help when using non-ASCII directory names. - Fixed compatibility with Jython 2.5b1.
- Added a function
virtualenv.install_pythonfor more fine-grained access to whatvirtualenv.create_environmentdoes. - Fix a problem with Windows and paths that contain spaces.
- If
/path/to/env/.pydistutils.cfgexists (or/path/to/env/pydistutils.cfgon Windows systems) then ignore~/.pydistutils.cfgand use that other file instead. - Fix ` a problem
<https://bugs.launchpad.net/virtualenv/+bug/340050>`_ picking up
some
.solibraries in/usr/local.
1.3.2¶
- Remove the
[install] prefix = ...setting from the virtualenvdistutils.cfg– this has been causing problems for a lot of people, in rather obscure ways. - If you use a boot script it will attempt to import
virtualenvand find a pre-downloaded Setuptools egg using that. - Added platform-specific paths, like
/usr/lib/pythonX.Y/plat-linux2
1.3.1¶
- Real Python 2.6 compatibility. Backported the Python 2.6 updates to
site.py, including user directories (this means older versions of Python will support user directories, whether intended or not). - Always set
[install] prefixindistutils.cfg– previously on some platforms where a system-widedistutils.cfgwas present with aprefixsetting, packages would be installed globally (usually in/usr/local/lib/pythonX.Y/site-packages). - Sometimes Cygwin seems to leave
.exeoffsys.executable; a workaround is added. - Fix
--pythonoption. - Fixed handling of Jython environments that use a jython-complete.jar.
1.3¶
- Update to Setuptools 0.6c9
- Added an option
virtualenv --relocatable EXISTING_ENV, which will make an existing environment “relocatable” – the paths will not be absolute in scripts,.egg-infoand.pthfiles. This may assist in building environments that can be moved and copied. You have to run this after any new packages installed. - Added
bin/activate_this.py, a file you can use likeexecfile("path_to/activate_this.py", dict(__file__="path_to/activate_this.py"))– this will activate the environment in place, similar to what the mod_wsgi example does. - For Mac framework builds of Python, the site-packages directory
/Library/Python/X.Y/site-packagesis added tosys.path, from Andrea Rech. - Some platform-specific modules in Macs are added to the path now
(
plat-darwin/,plat-mac/,plat-mac/lib-scriptpackages), from Andrea Rech. - Fixed a small Bashism in the
bin/activateshell script. - Added
__future__to the list of required modules, for Python 2.3. You’ll still need to backport your ownsubprocessmodule. - Fixed the
__classpath__entry in Jython’ssys.pathtaking precedent over virtualenv’s libs.
1.2¶
- Added a
--pythonoption to select the Python interpreter. - Add
warningsto the modules copied over, for Python 2.6 support. - Add
setsto the module copied over for Python 2.3 (though Python 2.3 still probably doesn’t work).
1.1.1¶
- Added support for Jython 2.5.
1.1¶
- Added support for Python 2.6.
- Fix a problem with missing
DLLs/zlib.pydon Windows. Create bin/python(orbin/python.exe) even when you run virtualenv with an interpreter named, e.g.,python2.4- Fix MacPorts Python
- Added –unzip-setuptools option
- Update to Setuptools 0.6c8
- If the current directory is not writable, run ez_setup.py in
/tmp - Copy or symlink over the
includedirectory so that packages will more consistently compile.
1.0¶
- Fix build on systems that use
/usr/lib64, distinct from/usr/lib(specifically CentOS x64). - Fixed bug in
--clear. - Fixed typos in
deactivate.bat. - Preserve
$PYTHONPATHwhen calling subprocesses.
0.9.2¶
- Fix include dir copying on Windows (makes compiling possible).
- Include the main
lib-tkin the path. - Patch
distutils.sysconfig:get_python_incandget_python_libto point to the global locations. - Install
distutils.cfgbefore Setuptools, so that system customizations ofdistutils.cfgwon’t effect the installation. - Add
bin/pythonX.Yto the virtualenv (in addition tobin/python). - Fixed an issue with Mac Framework Python builds, and absolute paths (from Ronald Oussoren).
0.9.1¶
- Improve ability to create a virtualenv from inside a virtualenv.
- Fix a little bug in
bin/activate. - Actually get
distutils.cfgto work reliably.
0.9¶
- Added
lib-dynloadandconfigto things that need to be copied over in an environment. - Copy over or symlink the
includedirectory, so that you can build packages that need the C headers. - Include a
distutilspackage, so you can locally updatedistutils.cfg(inlib/pythonX.Y/distutils/distutils.cfg). - Better avoid downloading Setuptools, and hitting PyPI on environment creation.
- Fix a problem creating a
lib64/directory. - Should work on MacOSX Framework builds (the default Python installations on Mac). Thanks to Ronald Oussoren.
0.8.4¶
- Windows installs would sometimes give errors about
sys.prefixthat were inaccurate. - Slightly prettier output.
0.8.3¶
- Added support for Windows.
0.8.2¶
- Give a better warning if you are on an unsupported platform (Mac Framework Pythons, and Windows).
- Give error about running while inside a workingenv.
- Give better error message about Python 2.3.
0.8.1¶
Fixed packaging of the library.
0.8¶
Initial release. Everything is changed and new!