从 Linux 其它用户复制 conda 的虚拟环境

在机器学习环境配置中,一个开发小组中 pytorch、tensorflow 等软件包需要反复安装,而从原厂商下载这些软件包会耗费大量的时间。经常会有从一个试验成功的项目或同学那里复制开发环境的需求,在这情况下,我们利用 conda 的环境 clone 和复制技术来完成。

首先修改 conda 的配置文件,向 ~/.condarc 中增加如下一些行:

channels:
  ...
  - defaults
envs_dirs:
  - /home/myhome/miniconda3/envs
  - /home/user1/miniconda3/envs
  ...
pkgs_dirs:
  - /home/myhome/miniconda3/pkgs
  - /home/user1/miniconda3/pkgs

然后运行:

% conda create --clone [new_env] -n [old_env] --offline
...
Continue creating environment (y/[n])? y

Source:      /home/user1/miniconda3/envs/[old_env]
Destination: /home/myhome/miniconda3/envs/[new_env]
Packages: 123
Files: 12345
Preparing transaction: done
Verifying transaction: done
...
#
# To activate this environment, use
#
#     $ conda activate [new_env]
#
# To deactivate an active environment, use
#
#     $ conda deactivate

环境建成功后可以删除 ~/.condarc 中的 envs_dirs 以及 pkgs_dirs 条目。

如果小组开发一个项目,运行环境是一致的,不需要另安装软件包。其他用户可以不删除 ~/.condarc 中的 envs_dirs 以及 pkgs_dirs 条目直接使用 user1 下的虚拟环境。

你可能感兴趣的:(机器学习,linux,conda,python)