告别窘迫:修改conda环境和缓存默认路径
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了告别窘迫:修改conda环境和缓存默认路径相关的知识,希望对你有一定的参考价值。
参考技术A默认情况下,conda 创建的新环境 以及过往安装的模块缓存都存储在用户目录下,这一点不会在 conda (user-specific)配置文件 $HOME/.condarc 中体现出来,除非用户修改了默认设置。当前的默认信息可通过 conda info 指令打印查看,其中不仅能够查看当前默认环境路径和默认缓存路径,还能查看conda的源设置(关于conda的源设置在 告别便秘:conda改源之路 中已经说明过了)。
这种默认的处理方式的好处是友好利用了现代操作系统多用户的特点,保证每个用户操作之间的隔离性;问题是 在用户个人目录存储空间设置得很小的情况下,随着用户使用时间变长,可用的用户目录空间将越来越少 ,很可能导致没有足够的空间来容纳新创建的环境或没有足够的空间来为环境安装新的模块。这时候该怎么办?
实际上,conda环境和缓存的默认路径(envs directories 和 package cache)不一定要默认存储在用户目录,我们可以将他们设置到盈余空间稍大的其他目录来缓解这种空间压力,只要保证不同用户之间的设置不同即可。路径的设置可以通过编辑 $HOME/.condarc 来实现。添加或修改 $HOME/.condarc 中的 env_dirs 和 pkgs_dirs 配置项分别设置环境和缓存路径,按顺序第一个路径作为默认存储路径,搜索环境和缓存时按先后顺序在各目录中查找。
如上例,新建环境将存储在 D:\\data\\xxx\\Miniconda\\envs 下,缓存文件将存储在 D:\\data\\xxx\\Miniconda\\pkgs 下,从而避免了用户目录空间不足带来的窘迫。
Ubuntu18.04下 修改conda环境和缓存默认路径
查看conda 的默认环境和缓存默认路径:conda info
conda环境和缓存的默认路径(envs directories 和 package cache)
envs directories 和 package cache 分别为环境和缓存路径,按顺序第一个路径作为默认存储路径,搜索环境和缓存时按先后顺序在各目录中查找。
如果想要修改默认路径,则需要修改/home/用户名 下的 .condarc 文件:
envs_dirs:
- /tmp/envs
pkgs_dirs:
- /tmp/pkgs
envs_dirs 和 pkgs_dirs 分别为环境和缓存路径,按顺序第一个路径作为默认存储路径,搜索环境和缓存时按先后顺序在各目录中查找。
查看修改后的结果:
可以看到包的缓存路径已经完全修改,而环境路径虽然已经修改但是系统默认的两个环境路径(/home/devil/anaconda3/envs /home/devil/.conda/envs )并没有被替换掉。
默认的环境路径虽然没有替换掉但是第一个环境路径已经是我们 设置的了,这样的话创建新的环境也是安装到我们创建的第一个路径里面。系统自带的默认环境没有被替换掉也是对的,不然以前创建的环境就会无法识别。
==============================================
修改后的结果:
创建新的环境:
查看环境是否创建成功:
下载的包的缓存:
====================================================
以上是关于告别窘迫:修改conda环境和缓存默认路径的主要内容,如果未能解决你的问题,请参考以下文章