如何在创建环境时将.conda 从一个文件夹移动到另一个文件夹
- 2024-10-28 08:37:00
- admin 原创
- 58
问题描述:
我必须连接到一个服务器,我的用户可以访问一个小分区,在/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:
是没问题。
按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
到吗?/big_partition/users/user
解决方案 1:
配置环境和包默认位置
我猜,尽管你努力将环境放在大分区上,但仍然有一个默认的用户级包缓存,它正在填满主分区。至少,在大分区上设置一个新的包缓存和一个默认的环境目录:
# 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
再为使用标志而烦恼了 - 您的命名环境(conda create -n foo
)将默认在此目录内创建,并且您可以通过名称而不是目录(conda activate foo
)来激活。
转移以前的环境和包缓存
不幸的是,没有一种很好的方法可以在不破坏硬链接的情况下跨文件系统移动 Conda 环境。相反,您需要重新创建环境。由于您可能不想为此烦恼,所以我只打算概述一下。如果需要,我可以详细说明。
存档环境。使用
conda env export -n foo > foo.yaml
(每个环境一个。)移动程序包缓存。将旧程序包缓存的内容 (
/home/users/user_name/.conda/envs/.pkgs/
) 复制到新程序包缓存。重新创建环境。使用
conda env create -n foo -f foo.yaml
。
再次强调,您可以完全跳过这一步。这主要是因为如果您希望彻底完成传输,而不必为已创建的环境重新下载内容。
此后,您可以删除旧文件夹下的一些内容~/.conda/envs/pkgs
。
解决方案 2:
我找到了解决方案。我需要做的就是导出 CONDA_ENVS_PATH,其中包含我想要的路径.conda
export CONDA_ENVS_PATH=.
- 2024年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理必备:盘点2024年13款好用的项目管理软件