无法在Snakemake规则中使用conda环境导入python模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法在Snakemake规则中使用conda环境导入python模块相关的知识,希望对你有一定的参考价值。

我用python 3.5创建了一个Conda环境,以便运行Snakemake工作流程。我在Snakemake规则中使用单独的Conda环境。我想使用python2 libs运行其中一个,但是在这里我似乎无法导入特定的模块。

这是我的规则环境:

channels:
  - conda-forge
dependencies:
  - zeep

我的规则是使用python2调用python脚本:

python2 my_script.py

并且python脚本包含此导入:

from zeep import Client

当我运行工作流程时,我收到此错误:

ImportError: No module named zeep

这可能是与python版本相关的问题吗?

答案

由于您没有在规则环境中指定Python版本,因此我假设它选择Python 3.5作为默认值。如果您像这样修改环境:

channels:
  - conda-forge
dependencies:
  - python=2.7.13
  - zeep

环境将使用Python 2.7.13,脚本将工作。

以上是关于无法在Snakemake规则中使用conda环境导入python模块的主要内容,如果未能解决你的问题,请参考以下文章

Snakemake Checkpoints 聚合 Skipping 中间规则

Snakemake:规则的数据依赖条件执行,IndexError

无法在命令提示符或 anaconda 提示符下安装 Snakemake

解决powershell无法使用conda虚拟环境问题

【Anaconda】conda创建虚拟环境不报错,但是虚拟环境无法生成的解决办法

无法使用 fermitools 激活 Conda 环境