Conda:选择每种环境的软件包下载位置

时间:2019-08-01 09:11:20

标签: anaconda conda miniconda

我正在运行不同的conda env,我想指定软件包的下载位置,而不是将所有软件包都放在我的$home中。

我发现this question在撰写本文时没有答案。但是,我的问题有所不同:我不想在.condarc中指定pkg_dir,因为我希望每个项目都有一个不同的下载目录(空间不是问题)。

如何为特定的conda env定义pkg_dir?

请注意,我正在将环境创建为conda env create -f my_env.yml -p complete-env

1 个答案:

答案 0 :(得分:2)

conda的基本概念是,将包下载并提取到共享缓存中,从中将它们选择性地链接到不同的conda环境中。您想违背这一概念,因此您所做的任何事情都会很棘手,并且会产生影响。

您可以为每个项目安装一个单独的Miniconda,并(尝试)通过从您的主目录中删除所有与conda相关的文件和环境设置来确保彼此之间不了解,甚至使用不同的每个项目的主页。在处理项目之前,您必须在PATH上放置正确的conda

或者您可以将Miniconda安装在主目录之外的专用驱动器上,并将conda环境放入主目录中。这样可以防止conda硬链接文件。它将仍然将软件包下载到共享缓存中,然后仅将相关文件复制到每个项目中。当然,复制比硬链接要慢。

无法按环境而不是按conda安装来指定软件包目录,因为darthbith已在评论中指出。