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.py
up, 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-dir
priority 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-packages
behavior the default behavior. The--no-site-packages
flag 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.ini
file. - Fixed various encoding related issues with paths. Thanks Gunnlaugur Thor Briem.
- Made
virtualenv.py
script 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
-p
option). - 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
_weakrefset
requirement 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
--prompt
option to be able to override the default prompt prefix. - Fix an issue with
--relocatable
on 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.py
on Windows. - Allow
$PYTHONHOME
to be set, so long as you usesource bin/activate
it 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.sh
to skip updating the prompt (by setting$VIRTUAL_ENV_DISABLE_PROMPT
).
1.4.5¶
- Include pip 0.6.3
- Fix
activate.bat
anddeactivate.bat
under Windows whenPATH
contained a parenthesis
1.4.4¶
- Include pip 0.6.2 and Distribute 0.6.10
- Create the
virtualenv
script even when Setuptools isn’t installed - Fix problem with
virtualenv --relocate
whenbin/
has subdirectories (e.g.,bin/.svn/
); from Alan Franzoni. - If you set
$VIRTUALENV_USE_DISTRIBUTE
then 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
win32api
is 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
registry
file to the virtualenv if it exists. - Better find libraries when compiling extensions on Windows.
- Create
Scripts\pythonw.exe
on Windows. - Added support for the Debian/Ubuntu
/usr/lib/pythonX.Y/dist-packages
directory. - Set
distutils.sysconfig.get_config_vars()['LIBDIR']
(based onsys.real_prefix
) which is reported to help building on Windows. - Make
deactivate
work on ksh - Fixes for
--python
: make it work with--relocatable
and 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_python
for more fine-grained access to whatvirtualenv.create_environment
does. - Fix a problem with Windows and paths that contain spaces.
- If
/path/to/env/.pydistutils.cfg
exists (or/path/to/env/pydistutils.cfg
on Windows systems) then ignore~/.pydistutils.cfg
and use that other file instead. - Fix ` a problem
<https://bugs.launchpad.net/virtualenv/+bug/340050>`_ picking up
some
.so
libraries 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
virtualenv
and 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] prefix
indistutils.cfg
– previously on some platforms where a system-widedistutils.cfg
was present with aprefix
setting, packages would be installed globally (usually in/usr/local/lib/pythonX.Y/site-packages
). - Sometimes Cygwin seems to leave
.exe
offsys.executable
; a workaround is added. - Fix
--python
option. - 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-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 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-packages
is 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/activate
shell script. - Added
__future__
to the list of required modules, for Python 2.3. You’ll still need to backport your ownsubprocess
module. - Fixed the
__classpath__
entry in Jython’ssys.path
taking precedent over virtualenv’s libs.
1.2¶
- Added a
--python
option to select the Python interpreter. - Add
warnings
to the modules copied over, for Python 2.6 support. - Add
sets
to 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.pyd
on 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
include
directory 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
$PYTHONPATH
when calling subprocesses.
0.9.2¶
- Fix include dir copying on Windows (makes compiling possible).
- Include the main
lib-tk
in the path. - Patch
distutils.sysconfig
:get_python_inc
andget_python_lib
to point to the global locations. - Install
distutils.cfg
before Setuptools, so that system customizations ofdistutils.cfg
won’t effect the installation. - Add
bin/pythonX.Y
to 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.cfg
to work reliably.
0.9¶
- Added
lib-dynload
andconfig
to things that need to be copied over in an environment. - Copy over or symlink the
include
directory, so that you can build packages that need the C headers. - Include a
distutils
package, 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.prefix
that 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!