Speedup virtualenv creation: create one (per session) relocatable
virtual environment, and then just make a copy of the resulting tree
when a new virtualenv is needed.
Instead of:
tests/conftest.py:146: in virtualenv
pip_source_dir=pip_src,
tests/lib/venv.py:45: in create
obj._create(clear=clear)
tests/lib/venv.py:68: in _create
raise Exception(p.stderr)
E Exception: None
We get the more informative:
tests/conftest.py:146: in virtualenv
pip_source_dir=pip_src,
tests/lib/venv.py:45: in create
obj._create(clear=clear)
tests/lib/venv.py:71: in _create
output=p.stdout,
E CalledProcessError: Command '[Path(u'/private/var/folders/gw/w0clrs515zx9x_55zgtpv4mm0000gp/T/pytest-675/test_freeze_basic0/workspace/venv/bin/python'), 'setup.py', 'installxx']' returned non-zero exit status 1
Previously pip was always installed directly from the source tree
however this causes concurrency issues so it is now copied into
the temporary directory and installed from there.