【问题标题】:Conda: Choose where packages are downloaded for each environmentConda:为每个环境选择下载包的位置
【发布时间】:2019-08-02 15:11:27
【问题描述】:

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

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

如何为特定的 conda 环境定义 pkg_dir?

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

【问题讨论】:

  • 据我所知,这是不可能的。 Conda 将始终将包下载到相同的公共位置,并且默认情况下,将文件从公共位置硬链接到环境中。

标签: anaconda conda miniconda


【解决方案1】:

conda 的一个基本概念是软件包被下载并提取到共享缓存中,然后它们被选择性地链接到不同的 conda 环境中。你想反对这个概念,所以你做的任何事情都会有问题并产生影响。

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

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

正如 darthbith 已经在评论中指出的那样,不可能为每个环境而不是每个 conda 安装指定包目录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-21
    • 2018-08-05
    • 2021-09-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多