Невозможно импортировать модуль Python с использованием среды conda в правиле Snakemake

Я создал среду Conda с python 3.5, чтобы запускать рабочие процессы Snakemake. Я использую отдельные среды Conda в правилах Snakemake. Я хотел бы запустить один из них, используя библиотеки python2, но здесь я не могу импортировать конкретный модуль.

Это среда моего правила:

channels:
  - conda-forge
dependencies:
  - zeep

Мое правило вызывает скрипт python с использованием python2:

python2 my_script.py

И скрипт python содержит этот импорт:

from zeep import Client

Когда я запускаю рабочий процесс, я получаю эту ошибку:

ImportError: No module named zeep

Может ли это быть проблемой, связанной с версиями Python?


person rioualen    schedule 28.12.2017    source источник


Ответы (1)


Поскольку вы не указываете версию Python в среде правил, я предполагаю, что по умолчанию выбран Python 3.5. Если вы измените свою среду следующим образом:

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

вместо этого среда будет использовать Python 2.7.13, и сценарий будет работать.

person Luiz Irber    schedule 28.12.2017
comment
Спасибо! Я только что достал Конду, я об этом не подумал. Теперь работает нормально. - person rioualen; 29.12.2017
comment
как обрабатывать версии python в переменной envs? для некоторых зависимостей может потребоваться Python 3 и некоторый Python 2.? - person user5249203; 01.05.2018