问题
服务器中存在多个用户,并分别安装了conda以及对应的环境。现在某一个用户希望使用其他用户的conda环境。
解决方案
利用conda自带的命令来调用其他用户user_name的环境。
conda config --append envs_dirs /home/user_name/.conda/envs
conda config --append pkgs_dirs /home/user_name/.conda/pkgs
实例
假设你是用户A,你需要复制用户B里的环境。
用户B的环境所在位置:/home/B/miniconda3/envs/。
用户B的包所在位置:/home/B/miniconda3/pkgs/。
在你的用户权限下,输入以下命令:
conda config --append envs_dirs /home/B/miniconda3/envs
conda config --append pkgs_dirs /home/B/miniconda3/pkgs
输入conda env list
,你会发现已经成功获取到对方所有的env。
检测
使用conda activate成功调用新环境,
其中envs对应默认存储环境的文件夹,而pkgs则对应默认存储包的文件夹。
配置这两个路径后,conda可以从其他用户的环境下直接调用对应的包和环境,也就是可以直接使用其他用户的环境了。
后续新增环境
如果新增环境中遇到以下问题:
NoWritablePkgsDirError: No writeable pkgs directories configured.
解决办法有两个:
一是给对方环境增加我们的权限。
二是创建我们有权限的文件夹pkgs和envs,直接编辑condarc文件,将这两个文件放入其中。
vi ~/.condarc
然后加入
envs_dirs:
- /XXX/envs
pkgs_dirs:
- /XXX/pkgs