Haoran Bai
Haoran Bai

Reputation: 21

How to manage conda shared environment and local environment?

Say the team has a shared conda environment called 'env1' located at this directory:

/home/share/conda/envs/env1/

While my working directory is at:

/home/my_name/...

I do not have write permission for any files under /home/share/, just read permission. Now I want to use the 'env1' environment with one additional library installed (this library is not originally appearing in /home/share/conda/envs/env1/) How should I achieve that without re-installing everything in env1 again to my own directory. Also I have to use 'conda install' for that additional package. I feel that this has something to do with 'conda install --use-local' to handle such shared-local-combined environment situation, but not sure exactly about the procedure. Thanks for any help and explanation!

Upvotes: 1

Views: 744

Answers (1)

tania
tania

Reputation: 2325

It looks like the --use-local flag only refers to whether conda should install a package built locally and maybe is not distributed through the usual channels (or instead of the usual channels). So I don't think this directly relates to your case.

Perhaps one solution is to clone this shared environment into a new one under your own account, where you have write permissions. Then conda install the new package you need in that environment. If you are concerned that it takes up space or duplicates the packages, I recommend reading this answer here, which explains that conda actually tries to not waste space by using hardlinks, so most likely the packages will not actually re-installed, but rather reused, in this new environment.

Finally, I'd personally try to create a new environment even just for the reason of clarity. If I later came back to this project, I'd like to know that it requires your "base/shared" env + an additional package. If it's named identically to the shared one, perhaps this difference wouldn't be so obvious.

Upvotes: 1

Related Questions