Merge branch 'ensurepip'

This commit is contained in:
Yamashita Yuu
2014-01-16 18:33:39 +09:00

View File

@@ -166,6 +166,26 @@ install_pip() {
} | PYENV_VERSION="${version}" pyenv-exec python } | PYENV_VERSION="${version}" pyenv-exec python
} }
ensurepip() {
local version="$1"
if PYENV_VERSION="${version}" pyenv-exec python -m ensurepip 2>/dev/null; then
local PREFIX_PATH="$(pyenv-prefix "${version}")"
if [ ! -e "${PREFIX_PATH}/bin/pip" ]; then
local pip="$(PYENV_VERSION="${version}" pyenv-exec python -c 'import sys;v=sys.version_info;sys.stdout.write("pip%d.%d"%(v[0],v[1]))')"
if [ -e "${PREFIX_PATH}/bin/${pip}" ]; then
( cd "${PREFIX_PATH}/bin" && ln -fs "${pip}" "pip" )
fi
fi
else
PYENV_VERSION="${version}" pyenv-exec python -c "import setuptools" 1>/dev/null 2>&1 || {
install_setuptools "${version}"
} 1>&2
PYENV_VERSION="${version}" pyenv-which pip 1>/dev/null 2>&1 || {
install_pip "${version}"
} 1>&2
fi
}
PYENV_VIRTUALENV_ROOT="$(abs_dirname "$0")/.." PYENV_VIRTUALENV_ROOT="$(abs_dirname "$0")/.."
if [ -z "${PYENV_VIRTUALENV_CACHE_PATH}" ]; then if [ -z "${PYENV_VIRTUALENV_CACHE_PATH}" ]; then
PYENV_VIRTUALENV_CACHE_PATH="${PYTHON_BUILD_CACHE_PATH:-${PYENV_ROOT}/cache}" PYENV_VIRTUALENV_CACHE_PATH="${PYTHON_BUILD_CACHE_PATH:-${PYENV_ROOT}/cache}"
@@ -324,16 +344,8 @@ STATUS=0
mkdir -p "${PYENV_VIRTUALENV_CACHE_PATH}" mkdir -p "${PYENV_VIRTUALENV_CACHE_PATH}"
cd "${PYENV_VIRTUALENV_CACHE_PATH}" cd "${PYENV_VIRTUALENV_CACHE_PATH}"
venv $QUIET $VERBOSE "${VIRTUALENV_OPTIONS[@]}" "${VIRTUALENV_PATH}" && { venv $QUIET $VERBOSE "${VIRTUALENV_OPTIONS[@]}" "${VIRTUALENV_PATH}" && {
if virtualenv_is_pyvenv; then virtualenv_is_pyvenv && ensurepip "${VIRTUALENV_NAME}"
PYENV_VERSION="${VIRTUALENV_NAME}" pyenv-exec python -c 'import setuptools' 1>/dev/null 2>&1 || { } 1>&2 || STATUS="$?"
install_setuptools "${VIRTUALENV_NAME}" 1>&2
}
PYENV_VERSION="${VIRTUALENV_NAME}" pyenv-which pip 1>/dev/null 2>&1 || {
install_pip "${VIRTUALENV_NAME}" 1>&2
}
fi
} || STATUS="$?"
## Migrate previously installed packages from requirements.txt ## Migrate previously installed packages from requirements.txt
if [ -n "$UPGRADE" ]; then if [ -n "$UPGRADE" ]; then