-
-
Save leoschmitz/002d0d8301e8b8266731d3379708c688 to your computer and use it in GitHub Desktop.
Python 3 venv wrapper. Manages all virtual environments under ~/.venv/ .
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# include following in .bashrc / .bash_profile / .zshrc | |
# usage | |
# $ mkvenv myvirtualenv # creates venv under ~/.venv/ | |
# $ venv myvirtualenv # activates venv | |
# $ deactivate # deactivates venv | |
# $ rmvenv myvirtualenv # removes venv | |
export VENV_HOME="$HOME/.venv" | |
[[ -d $VENV_HOME ]] || mkdir $VENV_HOME | |
lsvenv() { | |
ls -1 $VENV_HOME | |
} | |
venv() { | |
if [ $# -eq 0 ] | |
then | |
echo "Please provide venv name" | |
else | |
source "$VENV_HOME/$1/bin/activate" | |
fi | |
} | |
workon() { | |
if [ $# -eq 0 ] | |
then | |
echo "Please provide venv name" | |
else | |
source "$VENV_HOME/$1/bin/activate" | |
fi | |
} | |
mkvenv() { | |
if [ $# -eq 0 ] | |
then | |
echo "Please provide venv name" | |
else | |
python3 -m venv $VENV_HOME/$1 && | |
venv $1 && | |
pip install --upgrade pip && | |
pip install wheel | |
fi | |
} | |
rmvenv() { | |
if [ $# -eq 0 ] | |
then | |
echo "Please provide venv name" | |
else | |
rm -r $VENV_HOME/$1 | |
fi | |
} | |
complete -W "`lsvenv`" workon |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment