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

Can't import python module using a conda environment in Snakemake rule

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

这是我的规则环境:

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,脚本将运行。