From 0f8477fcf52609da81f0879fef008c0d5ac5e9be Mon Sep 17 00:00:00 2001 From: Yamashita Yuu Date: Tue, 30 Apr 2013 19:55:49 +0900 Subject: [PATCH] store distribute/setuptools archive in $PYTHON_BUILD_CACHE_PATH to reuse them between invocations. --- bin/pyenv-virtualenv | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/bin/pyenv-virtualenv b/bin/pyenv-virtualenv index d823d09..b0f09b5 100755 --- a/bin/pyenv-virtualenv +++ b/bin/pyenv-virtualenv @@ -133,8 +133,14 @@ fi VIRTUALENV_NAME="${ARGUMENTS[1]##*/}" VIRTUALENV_PATH="${PYENV_ROOT}/versions/${VIRTUALENV_NAME}" -# create virtualenv -"${PYTHON_BIN}" "${VIRTUALENV}" "${VIRTUALENV_OPTIONS[@]}" "${VIRTUALENV_PATH}" +# virtualenv may download distribute/setuptools in current directory. +# change to cache directory to reuse them between invocation. +VIRTUALENV_CACHE_PATH="${PYTHON_BUILD_CACHE_PATH:-${PYENV_ROOT}/cache}" +mkdir -p "${VIRTUALENV_CACHE_PATH}" +{ + cd "${VIRTUALENV_CACHE_PATH}" + "${PYTHON_BIN}" "${VIRTUALENV}" "${VIRTUALENV_OPTIONS[@]}" "${VIRTUALENV_PATH}" +} # create symlink of `python' bound for actual executable if [ ! -f "$VIRTUALENV_PYTHON_BIN" ]; then