问题背景

Linux 下,conda 默认的虚拟环境存储在 home 目录下,但 home 目录预先分配的内存有限,所有想将新建的 conda 虚拟环境存放在其他路径下,而又不影响之前的旧的虚拟环境的使用。

举个例子。

创建一个新的虚拟环境之前:
在这里插入图片描述

创建了一个新的虚拟环境之后:
在这里插入图片描述
新的虚拟环境占用了 4GB 的存储空间。

查看路径信息

查看 conda 信息:

conda info

输出内容如下:

zth@zth-Desktop:~$ conda info

     active environment : None
            shell level : 0
       user config file : /home/zth/.condarc
 populated config files : /home/zth/.condarc
          conda version : 4.10.1
    conda-build version : 3.21.4
         python version : 3.8.8.final.0
       virtual packages : __cuda=11.4=0
                          __linux=5.13.0=0
                          __glibc=2.31=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /usr/local/anaconda3  (read only)
      conda av data dir : /usr/local/anaconda3/etc/conda
  conda av metadata url : https://repo.anaconda.com/pkgs/main
           channel URLs : https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64
                          https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/noarch
                          https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64
                          https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /usr/local/anaconda3/pkgs
                          /home/zth/.conda/pkgs
       envs directories : /home/zth/.conda/envs
                          /usr/local/anaconda3/envs
               platform : linux-64
             user-agent : conda/4.10.1 requests/2.25.1 CPython/3.8.8 Linux/5.13.0-40-generic ubuntu/20.04.3 glibc/2.31
                UID:GID : 1000:1000
             netrc file : None
           offline mode : False

上面信息中提到的两个路径:

  • package cache :缓存路径
  • envs directories :环境路径

它们按顺序将第一个路径作为默认存储路径。

修改配置文件

gedit .condarc
# 会用 vim 的可以用 vim 编辑:
vi .condarc

由于我的 /usr/ 路径下还有大量的空间,所有我这里将 /usr/local/anaconda3/envs 放在第一位。

envs_dirs:
  - /usr/local/anaconda3/envs
  - /home/zth/.conda/envs
pkgs_dirs:
  - /usr/local/anaconda3/pkgs
  - /home/zth/.conda/pkgs

保存配置文件后,再次查看 conda 信息,发现已经修改了顺序:
在这里插入图片描述

虚拟环境创建

在创建虚拟环境时,提示我没有目标文件夹的权限,需要 sudo 权限,修改一下权限即可。

报错信息如下:

(base) zth@zth-Desktop:~$ conda create -n mmlab python=3.8 -y

NotWritableError: The current user does not have write permissions to a required path.
  path: /usr/local/anaconda3/envs/.conda_envs_dir_test
  uid: 1000
  gid: 1000

If you feel that permissions on this path are set incorrectly, you can manually
change them by executing

  $ sudo chown 1000:1000 /usr/local/anaconda3/envs/.conda_envs_dir_test

In general, it's not advisable to use 'sudo conda'.

根据报错提示,给权限:

sudo chown 1000:1000 /usr/local/anaconda3/envs/

接下来愉快地创建新的虚拟环境即可。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐