使用 .yml 文件创建后无法找到 conda 环境
Unable to locate conda environment after creating it using .yml file
我正在尝试使用 .yml 文件创建(并激活和使用)Conda 环境(事实上,我正在按照此 GitHub 页面上的说明进行操作:https://github.com/RajLabMSSM/echolocatoR)。我在集群计算系统中工作 运行 Linux.
conda env create -f https://github.com/RajLabMSSM/echolocatoR/raw/master/inst/conda/echoR.yml
在 运行 上面的代码行之后,我正在尝试激活环境:
conda activate echoR
但是,这 returns 以下消息:
Could not find conda environment: echoR
You can list all discoverable environments with conda info --envs
.
查看.conda/environments.txt中的环境列表时,确实没有列出echoR环境。
我希望就这里可能出现的问题提出一些建议。
可能的原因:内存不足
鉴于 HPC 上下文,求解器可能会尝试超出分配的内存并被终止。 Python-based Conda 求解器的资源效率不是很高,并且可能会在大型环境中挣扎。这个特定的环境非常大,因为它混合了 Python 和 R,并且它没有给出 R 和 Python 版本的确切规范 - 只有下限 - 这使得 SAT 搜索 space 巨大。
分析内存( )
我尝试使用 GitHub 工作流来分析内存使用情况。使用Mamba,毫无问题地解决了;使用 Conda,作业被终止,因为 GitHub runner 运行 内存不足(最大 7GB)。细分为:
Tool
Memory (MB)
User Time (s)
Mamba
745
195.45
Conda
> 6,434
> 453.34
解决方法
使用曼巴
作为 drop-in 已编译 编译的 Conda 的替代品,Mamba 的资源效率更高。此外,它在生物信息学社区中也受到欢迎(例如,它是 Snakemake 的默认前端)。
正如 GitHub 工作流程所展示的那样,Mamba-based 创建工作与 YAML 原样完美无缺。
请求更多内存
请求 SLURM/SGE 为您的交互式会话提供更多内存。 Conda 似乎需要超过 6.5 GB(也许试试 16GB?)。
创建更好的 YAML
要获得更快的求解速度,可以做的第一件事是为 Python 和 R 提供准确的版本。Mamba 解决方案解析为 python=3.9
r-base=4.0
.
环境中还有一堆 development-level 完全不需要 end-users 的东西。但这更让开发人员烦恼。
我正在尝试使用 .yml 文件创建(并激活和使用)Conda 环境(事实上,我正在按照此 GitHub 页面上的说明进行操作:https://github.com/RajLabMSSM/echolocatoR)。我在集群计算系统中工作 运行 Linux.
conda env create -f https://github.com/RajLabMSSM/echolocatoR/raw/master/inst/conda/echoR.yml
在 运行 上面的代码行之后,我正在尝试激活环境:
conda activate echoR
但是,这 returns 以下消息:
Could not find conda environment: echoR
You can list all discoverable environments withconda info --envs
.
查看.conda/environments.txt中的环境列表时,确实没有列出echoR环境。
我希望就这里可能出现的问题提出一些建议。
可能的原因:内存不足
鉴于 HPC 上下文,求解器可能会尝试超出分配的内存并被终止。 Python-based Conda 求解器的资源效率不是很高,并且可能会在大型环境中挣扎。这个特定的环境非常大,因为它混合了 Python 和 R,并且它没有给出 R 和 Python 版本的确切规范 - 只有下限 - 这使得 SAT 搜索 space 巨大。
分析内存( )
我尝试使用 GitHub 工作流来分析内存使用情况。使用Mamba,毫无问题地解决了;使用 Conda,作业被终止,因为 GitHub runner 运行 内存不足(最大 7GB)。细分为:
Tool | Memory (MB) | User Time (s) |
---|---|---|
Mamba | 745 | 195.45 |
Conda | > 6,434 | > 453.34 |
解决方法
使用曼巴
作为 drop-in 已编译 编译的 Conda 的替代品,Mamba 的资源效率更高。此外,它在生物信息学社区中也受到欢迎(例如,它是 Snakemake 的默认前端)。
正如 GitHub 工作流程所展示的那样,Mamba-based 创建工作与 YAML 原样完美无缺。
请求更多内存
请求 SLURM/SGE 为您的交互式会话提供更多内存。 Conda 似乎需要超过 6.5 GB(也许试试 16GB?)。
创建更好的 YAML
要获得更快的求解速度,可以做的第一件事是为 Python 和 R 提供准确的版本。Mamba 解决方案解析为 python=3.9
r-base=4.0
.
环境中还有一堆 development-level 完全不需要 end-users 的东西。但这更让开发人员烦恼。