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.
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.
Added ability to create virtualenvs without having installed Apple’s
developers tools (using an own implementation of install_name_tool).
Thanks Mike Hommey.
Fixed PyPy and Jython support on Windows. Thanks Konstantin Zemlyak.
Added pydoc script to ease use. Thanks Marc Abramowitz. Fixes #149.
Fixed creating a bootstrap script on Python 3. Thanks Raul Leal. Fixes #280.
Fixed inconsistency when having set the PYTHONDONTWRITEBYTECODE env var
with the –distribute option or the VIRTUALENV_USE_DISTRIBUTE env var.
VIRTUALENV_USE_DISTRIBUTE is now considered again as a legacy alias.
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.
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.
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]prefix in distutils.cfg – previously
on some platforms where a system-wide distutils.cfg was present
with a prefix setting, packages would be installed globally
(usually in /usr/local/lib/pythonX.Y/site-packages).
Sometimes Cygwin seems to leave .exe off sys.executable; a
workaround is added.
Fix --python option.
Fixed handling of Jython environments that use a
Added an option virtualenv--relocatableEXISTING_ENV, which
will make an existing environment “relocatable” – the paths will
not be absolute in scripts, .egg-info and .pth files. 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 like
execfile("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
For Mac framework builds of Python, the site-packages directory
/Library/Python/X.Y/site-packages is added to sys.path, from
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/activate shell script.
Added __future__ to the list of required modules, for Python
2.3. You’ll still need to backport your own subprocess module.
Fixed the __classpath__ entry in Jython’s sys.path taking
precedent over virtualenv’s libs.