diff --git a/crates/pet-global-virtualenvs/src/lib.rs b/crates/pet-global-virtualenvs/src/lib.rs index a26d410c..1a01053f 100644 --- a/crates/pet-global-virtualenvs/src/lib.rs +++ b/crates/pet-global-virtualenvs/src/lib.rs @@ -56,11 +56,20 @@ fn get_global_virtualenv_dirs( } pub fn list_global_virtual_envs_paths( + virtual_env_env_var: Option, work_on_home_env_var: Option, xdg_data_home: Option, user_home: Option, ) -> Vec { let mut python_envs: Vec = vec![]; + + if let Some(virtual_env) = virtual_env_env_var { + let virtual_env = norm_case(expand_path(PathBuf::from(virtual_env))); + if virtual_env.exists() { + python_envs.push(virtual_env); + } + } + for root_dir in &get_global_virtualenv_dirs(work_on_home_env_var, xdg_data_home, user_home) { if let Ok(dirs) = fs::read_dir(root_dir) { python_envs.append( diff --git a/crates/pet/src/find.rs b/crates/pet/src/find.rs index 63aefd63..96929684 100644 --- a/crates/pet/src/find.rs +++ b/crates/pet/src/find.rs @@ -160,6 +160,7 @@ pub fn find_and_report_envs( let search_paths: Vec = [ list_global_virtual_envs_paths( + environment.get_env_var("VIRTUAL_ENV".into()), environment.get_env_var("WORKON_HOME".into()), environment.get_env_var("XDG_DATA_HOME".into()), environment.get_user_home(),