Skip to content

Instantly share code, notes, and snippets.

@Apkawa
Created June 28, 2011 10:57
Show Gist options
  • Save Apkawa/1050906 to your computer and use it in GitHub Desktop.
Save Apkawa/1050906 to your computer and use it in GitHub Desktop.
Transparenty using virtualenv
#!./virtualenv_python.sh
#some text
#!/bin/bash
SCRIPT_PATH=$(readlink -f ${0})
PROJECT_ROOT=$(dirname $SCRIPT_PATH)
ENV_ROOT=${PROJECT_ROOT}/.env/
REQUIREMENTS=${PROJECT_ROOT}/requirements.txt
TIMESTAMP=${ENV_ROOT}.timestamp
WHEREIS="whereis -b"
PIP_BIN=/usr/bin/pip2
VIRTUALENV_BIN=/usr/bin/virtualenv2
function init_env() {
$VIRTUALENV_BIN --python=python2 ${ENV_ROOT} ||return 1 #--no-site-packages
source ${ENV_ROOT}/bin/activate
$PIP_BIN install -r ${REQUIREMENTS} -E ${ENV_ROOT} ||return 1 #--upgrade
deactivate
touch ${TIMESTAMP}
}
if [ ! -d "${ENV_ROOT}" -o ${REQUIREMENTS} -nt ${TIMESTAMP} ]; then
init_env
fi
source ${ENV_ROOT}/bin/activate
${ENV_ROOT}/bin/python $*
deactivate
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment