我必须连接到一台服务器,我的用户可以从该服务器访问一个小分区/home/users/user_name
我有一个有限的空间配额和一个更大的分区/big_partition/users/user
登录该服务器后,我将到达/home/users/user_name
一开始。之后,我正在执行以下步骤。
cd /big_partition/users/user
create conda --prefix=envs python=3.6
在第四行,它说Package plan for installation in environment /big_partition/users/user/envs:
没关系。
-
press y,而不是我收到以下消息。
OSError: [Errno 122] Disk quota exceeded: '/home/users/user_name/.conda/envs/.pkgs/python-3.6.2-0/lib/python3.6/unittest/result.py'
谁能帮我理解如何移动.conda
文件夹来自/home/users/user_name
to /big_partition/users/user
当我正在创建这个环境的那一刻?
配置环境和包默认位置
我猜想,尽管您努力将环境放在大分区上,但仍然存在默认的用户级别包缓存这就是填满主分区。至少,建立一个新的包缓存 https://conda.io/projects/conda/en/latest/user-guide/configuration/use-condarc.html#specify-package-directories-pkgs-dirs和一个默认值环境目录 https://conda.io/projects/conda/en/latest/user-guide/configuration/use-condarc.html#specify-env-directories在大分区上:
# create a new pkgs_dirs (wherever, doesn't have to be hidden)
mkdir -p /big_partition/users/user/.conda/pkgs
# add it to Conda as your default
conda config --add pkgs_dirs /big_partition/users/user/.conda/pkgs
# create a new envs_dirs (again wherever)
mkdir -p /big_partition/users/user/.conda/envs
# add it to Conda as your default
conda config --add envs_dirs /big_partition/users/user/.conda/envs
现在您不必为使用而烦恼--prefix
不再标记 - 你的named环境(conda create -n foo
) 默认情况下将在此目录中创建,您可以通过名称而不是目录激活 (conda activate foo
).
传输以前的环境和包缓存
不幸的是,没有一种很好的方法可以在不破坏硬链接的情况下跨文件系统移动 Conda 环境。相反,您需要重新创建环境。由于您可能想也可能不想为此烦恼,所以我只想概述一下。如果需要的话我可以详细说明。
-
存档环境。 Use
conda env export -n foo > foo.yaml
(每个环境一个。)
-
移动包缓存。复制旧包缓存的内容(
/home/users/user_name/.conda/envs/.pkgs/
) 到新的包缓存。
-
重新创建环境。 Use
conda env create -n foo -f foo.yaml
.
同样,您可以完全跳过此操作。这主要是如果您想要非常彻底地传输并且不必为您已经创建的环境重新下载内容。
之后你可以删除旧的下面的一些东西~/.conda/envs/pkgs
folder.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)