Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Python 3 venv wrapper. Manages all virtual environments under ~/.venv/ .
# 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
venv() {
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
fi
}
rmvenv() {
if [ $# -eq 0 ]
then
echo "Please provide venv name"
else
rm -r $VENV_HOME/$1
fi
}
@maxwellmckinnon

This comment has been minimized.

Copy link

commented Jul 8, 2019

This is great thanks. You might want to add protection against rmvenv with no argument given, so that someone doesn't blow away all their environments :)

@dbtek

This comment has been minimized.

Copy link
Owner Author

commented Jul 8, 2019

@maxwellmckinnon you are absolutely right. Any suggestions?

@dbtek

This comment has been minimized.

Copy link
Owner Author

commented Jul 9, 2019

Updated gist with no argument checks. Thanks to maxwellmckinnon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.