@@ -5,15 +5,15 @@ DATESTAMP=`date "+%Y-%m-%d-%H-%M-%S"`
55CONFIG_BACKUP=false
66APT_HAS_UPDATED=false
77RESOURCES_TOP_DIR=$HOME /Pimoroni
8- PY_VENV_DIR=$RESOURCES_TOP_DIR /venv
8+ VENV_BASH_SNIPPET=$RESOURCES_TOP_DIR /auto_venv.sh
9+ VENV_DIR=$RESOURCES_TOP_DIR /venv
910WD=` pwd`
1011USAGE=" ./install.sh (--unstable)"
1112POSITIONAL_ARGS=()
1213FORCE=false
1314UNSTABLE=false
1415PYTHON=" python"
1516
16-
1717user_check () {
1818 if [ $( id -u) -eq 0 ]; then
1919 printf " Script should not be run as root. Try './install.sh'\n"
@@ -55,21 +55,39 @@ warning() {
5555 echo -e " $( tput setaf 1) $1 $( tput sgr0) "
5656}
5757
58+ venv_bash_snippet () {
59+ if [ ! -f $VENV_BASH_SNIPPET ]; then
60+ cat << EOF > $VENV_BASH_SNIPPET
61+ # Add \` source $RESOURCES_TOP_DIR /auto_venv.sh\` to your ~/.bashrc to activate
62+ # the Pimoroni virtual environment automagically!
63+ PY_ENV_DIR=~/Pimoroni/venv
64+ if [ ! -f \$ PY_ENV_DIR/bin/activate ]; then
65+ printf "Creating user Python environment in \$ PY_ENV_DIR, please wait...\n"
66+ mkdir -p \$ PY_ENV_DIR
67+ python3 -m venv --system-site-packages --prompt Pimoroni \$ PY_ENV_DIR
68+ fi
69+ printf " ↓ ↓ ↓ ↓ Hello, we've activated a Python venv for you. To exit, type \"deactivate\".\n"
70+ source \$ PY_ENV_DIR/bin/activate
71+ EOF
72+ fi
73+ }
74+
5875venv_check () {
5976 PYTHON_BIN=` which $PYTHON `
6077 if [[ $VIRTUAL_ENV == " " ]] || [[ $PYTHON_BIN != $VIRTUAL_ENV * ]]; then
6178 printf " This script should be run in a virtual Python environment.\n"
6279 if confirm " Would you like us to create one for you?" ; then
63- if [ ! -f $PY_VENV_DIR /bin/activate ]; then
64- inform " Creating virtual Python environment in $PY_VENV_DIR , please wait...\n"
65- mkdir -p $PY_VENV_DIR
66- /usr/bin/python3 -m venv $PY_VENV_DIR --system-site-packages
80+ if [ ! -f $VENV_DIR /bin/activate ]; then
81+ inform " Creating virtual Python environment in $VENV_DIR , please wait...\n"
82+ mkdir -p $VENV_DIR
83+ /usr/bin/python3 -m venv $VENV_DIR --system-site-packages --prompt Pimoroni
84+ venv_bash_snippet
6785 else
68- inform " Found existing virtual Python environment in $PY_VENV_DIR \n"
86+ inform " Found existing virtual Python environment in $VENV_DIR \n"
6987 fi
70- inform " Activating virtual Python environment in $PY_VENV_DIR ..."
71- inform " source $PY_VENV_DIR /bin/activate\n"
72- source $PY_VENV_DIR /bin/activate
88+ inform " Activating virtual Python environment in $VENV_DIR ..."
89+ inform " source $VENV_DIR /bin/activate\n"
90+ source $VENV_DIR /bin/activate
7391
7492 else
7593 exit 1
0 commit comments