Commit bdedb0a
committed
Revised native conda locator (#23416)
**Fixes**
* #23413
* & the fact that we always use the same conda exe to manage all conda
envs, even if multiple are installed.
* Step 1:
* Look for conda install folders in known locations such as `/<user
home>/miniconda3`, `<user profile>/Anaconda3`
* Step 2:
* For each install location identified, inspect that folder and extract
the
* Conda executable
* All environments belonging to that conda installation
* Step 3:
* Old approach,
* 1. find any conda in sys path or other locations and find conda
installation via that mechanism
* 2. Get all envs from environments.txt file (any remaining conda envs
not discovered in 1 & 2 will be discoverred here and use some the global
conda exe)
Once we have step 1 and 2, I do not expect anything new to show up in
step 3,
Even if users install conda into some custom locations (the solution
would be to run step 1 with the custom location provided by user in
settings.json file)
**How to find environments?**
* Look in the `envs` folder of the conda installation
* Look at the entries in the `environments.txt` file
* Look at the `env_dirs` in the `.condarc` file
With these two, we should be able to eliminate the need to ever spawn
conda to get the env directories.
**How do we know whether a conda environment belongs to a specific conda
installation**
* If it is in the `envs` sub directory of the conda installation
* Else, have a look at `<env folder>/conda-meta/history` file to look at
the conda installation that was used to create this environment1 parent 50fd008 commit bdedb0a
File tree
32 files changed
+1237
-301
lines changed- native_locator
- src
- tests
- unix
- conda_without_envs/anaconda3
- bin
- conda-meta
- conda
- .conda
- anaconda3
- bin
- conda-meta
- envs
- one
- conda-meta
- two
- src/client/pythonEnvironments/base/locators/lowLevel
32 files changed
+1237
-301
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
53 | | - | |
| 53 | + | |
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
| |||
0 commit comments