@@ -38,9 +38,10 @@ function tue-env
3838 # Make sure the correct directories are there
3939 mkdir -p " $TUE_DIR " /user/envs
4040
41- local create_venv dir env_name targets_url show_help
41+ local create_venv dir env_name show_help targets_url venv_include_system_site_packages
4242 create_venv=" false"
4343 show_help=" false"
44+ venv_include_system_site_packages=" false"
4445
4546 if [[ $cmd == " init" ]]
4647 then
@@ -55,6 +56,8 @@ function tue-env
5556 targets_url=" ${i#* =} " ;;
5657 --create-virtualenv=* )
5758 create_venv=" ${i#* =} " ;;
59+ --virtualenv-include-system-site-packages=* )
60+ venv_include_system_site_packages=" ${i#* =} " ;;
5861 --help )
5962 show_help=" true" ;;
6063 * )
@@ -105,7 +108,7 @@ function tue-env
105108
106109 if [[ " ${create_venv} " == " true" ]]
107110 then
108- tue-env init-venv " ${env_name} "
111+ tue-env init-venv " ${env_name} " " ${venv_include_system_site_packages} "
109112 fi
110113
111114 elif [[ $cmd == " remove" ]]
@@ -281,33 +284,35 @@ Environment directory '${dir}' didn't exist (anymore)"""
281284
282285 elif [[ $cmd == " init-venv" ]]
283286 then
284- local env
285- env=$1
286- [ -n " ${env} " ] || env=${TUE_ENV}
287-
288- if [[ -z " ${env} " ]]
287+ if [ -z " $1 " ] || { [ -z " ${TUE_ENV} " ] && [ -z " $2 " ]; }
289288 then
290- echo " [tue-env](init-venv) no environment set or provided"
291- echo " Usage: tue-env init-venv [ NAME ]"
289+ echo " Usage: tue-env init-venv [ENVIRONMENT] INCLUDE_SYSTEM_SITE_PACKAGES"
292290 return 1
293291 fi
294292
295- python3 -c " import virtualenv" 2> /dev/null ||
296- { echo -e " [tue-env](init-venv) 'virtualenv' module is not found. Make sure you install it 'sudo apt-get install python3-virtualenv'" ; return 1; }
293+ local env venv_include_system_site_packages
294+ env=$1
295+ venv_include_system_site_packages=$2
296+ if [ -z " ${venv_include_system_site_packages} " ]
297+ then
298+ env=${TUE_ENV}
299+ if [ -z " ${env} " ]
300+ then
301+ # This shouldn't be possible logical, should have exited after printing usage
302+ echo " [tue-env](init-venv) no environment set or provided"
303+ return 1
304+ fi
305+ venv_include_system_site_packages=$1
306+ fi
307+
308+ /usr/bin/python3 -c " import virtualenv" 2> /dev/null ||
309+ { echo " [tue-env](init-venv) 'virtualenv' module is not found. Make sure you install it 'sudo apt-get install python3-virtualenv'" ; return 1; }
297310
298311 local tue_env_dir
299312 tue_env_dir=$( cat " ${TUE_DIR} " /user/envs/" ${env} " )
300313 local venv_dir
301314 venv_dir=${tue_env_dir} /.venv/${env}
302315
303- if [ -d " $tue_env_targets_dir " ]
304- then
305- local targets_dir_moved
306- targets_dir_moved=$tue_env_targets_dir .$( date +%F_%R)
307- mv -f " $tue_env_targets_dir " " $targets_dir_moved "
308- echo " [tue-env] Moved old targets of environment '$env ' to $targets_dir_moved "
309- fi
310-
311316 if [[ -d " ${venv_dir} " ]]
312317 then
313318 local venv_dir_moved
@@ -322,7 +327,12 @@ Environment directory '${dir}' didn't exist (anymore)"""
322327 echo " Don't use it anymore as its old path is hardcoded in the virtualenv"
323328 fi
324329
325- python3 -m virtualenv " ${venv_dir} " -q --system-site-packages --symlinks 2> /dev/null
330+ local system_site_args
331+ if [[ " ${venv_include_system_site_packages} " == " true" ]]
332+ then
333+ system_site_args=" --system-site-packages"
334+ fi
335+ /usr/bin/python3 -m virtualenv " ${venv_dir} " -q " ${system_site_args} " --symlinks 2> /dev/null
326336 echo " [tue-env] Initialized virtualenv of environment '${env} '"
327337
328338 if [ " ${env} " == " ${TUE_ENV} " ]
0 commit comments