How to share an Anaconda Python environment between multiple users?

I would shy away from sharing environments with other users, because if they don't know what they are doing, they could add packages that could conflict with other packages and/or even delete packages that another user might need. The preferred approach is that after you have created an environment, you export it as a yml file:

conda env export > environment.yml

Then you send the users the yml file and have them build their own environment using the yml:

conda env create -f environment.yml

If you really want to use a shared environment where every user can access, then you have to use the -p or --prefix option in your create:

conda create -p C:/full/public/path/to/py35 python=3.5

And then instruct your users to add the public path (C:/full/public/path/to) to their conda config file. Then, they should be able to see the environment when running conda env list.


The Conda-Cheatseet here lists these following commands.

Save Environment:

conda list --explicit > my-env.txt

Create Environment:

conda env create --file my-env.txt

The key here is adding the path to the folder containing the environment(s) to the user's conda configuration file .condarc. Like this:

envs_dirs:
  - C:\full\path\to\environments\folder

This makes all the environments (subfolders within) available to the user. It does not appear to be possible to make a specific, named environment available.

As has been pointed out, you can create an environment in a specific location using the -p flag, and then add the parent directory to the configuration file, but this is not a requirement. This may be useful, however, to avoid permissions errors if sharing environments that exists in protected user areas.

On Windows 10, my user configuration file was in C:\Users\<my-user-name>\, and I just added the above text to the end of it.